MSDE FunClub | 最終更新日 : 2000/08/17 | |
Microsoft Data Engine FunClub |
|
|
SQLServer7.0/MSDE 完全トレーニングテキスト(上巻) | ||
【第6章360p 〜 362p掲載】 |
-- [SQL06_04.SQL] -- SQLServer7.0 Transact-SQL言語 -- 日本技術ソフト開発 堀川 明 -- http://www.horikawa.ne.jp/msde/ -- -- このSQLプログラムは、 -- トリガ内部でROLLBACK TRANSACTION を実行するときは -- 必ずRAISERROR命令を実行してメッセージを出力してください -- -- カレントデータベースを MySampleTest にする USE MySampleTest GO -- (件処理されました)のメッセージを抑止する SET NOCOUNT ON GO -- ************************************************* -- 見本テーブルの作成 -- ************************************************* -- 既存テーブルが存在したら削除します IF( (object_id('T_MSGOFF') IS NOT NULL) AND OBJECTPROPERTY( object_id('T_MSGOFF'),'ISTABLE') = 1 ) BEGIN PRINT 'T_MSGOFF テーブルが存在したので削除しました' DROP TABLE T_MSGOFF END GO -- 新しくテーブルを作成する CREATE TABLE T_MSGOFF ( ID int CONSTRAINT PK_T_MSGOFF PRIMARY KEY , DATA varchar(20) ) GO -- 既存テーブルが存在したら削除します IF( (object_id('T_MSGON') IS NOT NULL) AND OBJECTPROPERTY( object_id('T_MSGON'),'ISTABLE') = 1 ) BEGIN PRINT 'T_MSGON テーブルが存在したので削除しました' DROP TABLE T_MSGON END GO -- 新しくテーブルを作成する CREATE TABLE T_MSGON ( ID int CONSTRAINT PK_T_MSGON PRIMARY KEY , DATA varchar(20) ) GO -- ************************************************* -- トリガの登録 -- ************************************************* -- /////////////////// -- メッセージ出力なし -- /////////////////// CREATE TRIGGER TR_MSGOFF -- トリガの名前 ON T_MSGOFF -- トリガを組み込むテーブル ----------- FOR UPDATE,INSERT ----------- AS ROLLBACK TRANSACTION GO -- /////////////////// -- メッセージ出力有り -- /////////////////// CREATE TRIGGER TR_MSGON -- トリガの名前 ON T_MSGON -- トリガを組み込むテーブル ----------- FOR UPDATE,INSERT ----------- AS ROLLBACK TRANSACTION RAISERROR('エラー発生!! 入力操作を中止します', 16,1) GO