SQL - 如何创建涉及2个单独表的触发器?

时间:2017-03-27 21:17:39

标签: sql-server triggers

在' 发布者'上创建一个名为checkPub的INSERT触发器。表格将一行添加到' pub_info '表
1)当一行插入“发布者”时将pub_id的值插入publishers表的表,
2)徽标列中的NULL,和
3)文本'新手'在pr_info列中。
4)此外,打印一条消息,说明pub_id以及' 9991已插入' pub_info'表&#39 ;.

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

在此之后不确定如何写条件。

1 个答案:

答案 0 :(得分: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;

由于这有看作业,我会让你弄清楚最后的要求。