| MSDE FunClub |
|
最終更新日 : 2000/08/29 |
|
Microsoft Data Engine FunClub
|
Since 2000.08.29
|
|
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