2017-03-27 10 views
1

行が挿入pub_idカラムの値と「出版社のテーブルに挿入されたときに「 pub_info」テーブル
1)に行を追加するために「パブリッシャー」テーブルにcheckPub呼ばINSERTトリガーを作成します
2)ロゴ列にNULLがあり、
3)pr_info列に 'Newbie'というテキストが表示されています。
4)また、pub_idと '9991 Inserted into' pub_info 'table'というメッセージが表示されます。SQL - 別の2つのテーブルを含むトリガを作成するには?

INSERT INTO publishers(pub_id, pub_name, city, country) 
VALUES('9905', 'New Publisher', 'Vancouver', 'Canada'); 

CREATE TRIGGER checkPub 
BEFORE INSERT OR UPDATE ON 
(Publishers P JOIN pub_info PI 
    ON 
P.pub_id = PI.pub_id) 

FOR EACH ROW 

これ以降の条件の記述方法は不明です。

+0

トリガーは、最初に複数のテーブルで使用しないでください。トリガーはOOPのイベントのようなものです。パブリッシャに行が挿入されたときにpub_infoにデフォルト値と外部キーを挿入するinsert文が必要なように思えます。 –

答えて

2

ここではループは必要ありません。基本的な挿入ステートメントが必要です。トリガー全体の例を次に示します。

CREATE TRIGGER checkPub ON Publishers after INSERT AS 
    set nocount on; 

    insert pub_info 
    (
     pub_id 
     , logo 
     , pr_info 
    ) 
    select i.pub_id 
     , null 
     , 'Newbie' 
    from inserted i; 

これは宿題の外観があるため、最後の要件を把握させていただきます。

+0

ありがとうございました。 – user1777929

関連する問題