MSDE FunClub 現在までのアクセスカウント数 最終更新日 : 2000/08/17
Microsoft Data Engine FunClub
Since 2000.08.17
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




技術評論社の書籍ガイドへ
上巻:ISBN4-7741-0965-7

ウィンドウを閉じる


(株)日本技術ソフト開発 責任編集:堀川 明
MSDE FunClubに関するご意見・ご要望等ございましたら、 msdefun@horikawa.ne.jp までご連絡下さい。
HOME: http://www.horikawa.ne.jp/msde/


MSDE FunClubの運営は、マイクロソフト社とは一切の関係はありません