MSDE FunClub | 最終更新日 : 2000/08/29 | |
Microsoft Data Engine FunClub |
|
|
SQLServer7.0/MSDE 完全トレーニングテキスト(下巻) | ||
【第13章177p 〜 178p掲載】 |
-- [SQL13_02.SQL] -- SQLServer7.0 Transact-SQL言語 -- 日本技術ソフト開発 堀川 明 -- http://www.horikawa.ne.jp/msde/ -- -- このSQLプログラムは、 -- CREATE UNIQUE INDEX インデックス名 ON テーブル名( 列名 ) -- で、WITH IGNORE_DUP_KEY オプション機能を調べます -- -- カレントデータベースを MySampleTest にする USE MySampleTest GO -- (件処理されました)のメッセージを抑止する SET NOCOUNT ON GO -- すでに存在するテーブルを削除する IF( (OBJECT_ID('TBLTO') IS NOT NULL) AND OBJECTPROPERTY( OBJECT_ID('TBLTO') , 'ISTABLE' ) = 1 ) BEGIN DROP TABLE TBLTO END IF( (OBJECT_ID('TBLFROM') IS NOT NULL) AND OBJECTPROPERTY( OBJECT_ID('TBLFROM') , 'ISTABLE' ) = 1 ) BEGIN DROP TABLE TBLFROM END GO -- 新しくテーブルを作成します CREATE TABLE TBLTO ( ID INT , DAT VARCHAR(10) ) -- UNIQUEインデックスを作成する(オプションを付ける) CREATE UNIQUE INDEX IDX_TBLTO_ID ON TBLTO( ID ) WITH IGNORE_DUP_KEY GO -- 見本データ登録 INSERT INTO TBLTO VALUES( 1 , 'TBLTO-01' ) INSERT INTO TBLTO VALUES( 2 , 'TBLTO-02' ) INSERT INTO TBLTO VALUES( 3 , 'TBLTO-03' ) GO -- 別のテーブルを作成する CREATE TABLE TBLFROM ( ID INT , DAT VARCHAR(10) ) GO -- 見本データ登録 INSERT INTO TBLFROM VALUES( 1 , '**101**' ) INSERT INTO TBLFROM VALUES( 2 , '**102**' ) INSERT INTO TBLFROM VALUES( 3 , '**103**' ) INSERT INTO TBLFROM VALUES( 4 , '**104**' ) INSERT INTO TBLFROM VALUES( 5 , '**105**' ) GO -- 挿入前の表示 PRINT 'レコード挿入前です' SELECT * FROM TBLTO GO -- 新しいレコードの挿入を行う -- 但し重複した値があります INSERT INTO TBLTO SELECT * FROM TBLFROM GO -- 挿入結果の表示 PRINT 'レコード挿入後です' SELECT * FROM TBLTO GO