CREATE TRIGGER aaa
ON 表B
FOR INSERT, UPDATE, DELETE 
AS
--...(具体实现你的要求的sql语句)
GO

解决方案 »

  1.   

    用替代触发器:create table a (a int,aa varchar(100))
    create table b (b int,bb varchar(100))
    go
    create view c
    as
    select a.*,b.* from a,b where a.a=b.b
    go--测试:
    insert c values(1,'aa',1,'bb')
    --失败go
    CREATE TRIGGER 名 on c
    INSTEAD OF INSERT
    AS
    BEGIN
      INSERT a select a,aa from inserted
      INSERT b select b,bb from inserted
    END
    go--测试:
    insert c values(1,'aa',1,'bb')
      

  2.   

    大力兄:我不怎麼明白啊,先要建個視圖嗎,然後再在視圖上建觸發器嗎,
    我是要在 update 表 A 時,把 A 表的 code 值賦給 同時 insert 的 表B 的數條記錄的
    code 值,刪除 A 表時 ,也把 B 表相同的 Code 值的記錄刪掉,謝了!
      

  3.   

    你可以在两个表之间建立约束关系,进行级联删除的。
    例如  alter table b 
       add constraint b_f_key foreign key(b)  reference a(a)
               on delete cascade
    删除时只要delete a where a=code  b表相应code的纪录同时删除开心就好!!!!
      

  4.   

    方法1:alter table a add constraint fk_a_to_b foreign key references b(col) ON UPDATE CASCADE on delete cascade
    连级更新create table 主表
    (商品编号 varchar(20) not null  PRIMARY KEY CLUSTERED ,
    商品名称 varchar(20) UNIQUE NONCLUSTERED ,
    数量 int
    )
    create table 主表1
    (商品编号 varchar(20) not null  PRIMARY KEY CLUSTERED ,
    商品名称 varchar(20) UNIQUE NONCLUSTERED ,
    数量 int
    )
    create table 次表 
    (商品编号 varchar(20) not null ,  
    商品名称 varchar(20) not null
    primary key ( 商品编号,商品名称 )
    FOREIGN KEY (商品编号) REFERENCES 主表 (商品编号) 
     ON DELETE  CASCADE  ON UPDATE CASCADE ,
     FOREIGN KEY ( 商品名称) rEFERENCES 主表1 (商品编号) 
     ON DELETE  CASCADE  ON UPDATE CASCADE ,
    供应商 varchar(20) 
    )insert 主表 select '003','aa',77insert 主表1 select '104','bb',17insert 次表 select '003','104','y'update 主表1 set 商品编号='105'update 主表 set 商品编号='004'
    select * from 次表
      

  5.   

    方法2:CREATE TRIGGER 名1 ON dbo.tabMain
    FOR INSERT
    AS
    insert db2..tabSlave select * from insertedCREATE TRIGGER 名2 ON dbo.tabMain
    FOR update
    AS
    update db2..tabSlave set 列=aa.列 from inserted aa where aa.编号=db2..tabSlave.编号
    CREATE TRIGGER 名3 ON dbo.tabMain
    FOR delete
    AS
    delete db2..tabSlave where 编号 in (select 编号 from deleted)
      

  6.   

    你可以用级联更新莱做我不怎麼明白啊,先要建個視圖嗎,然後再在視圖上建觸發器嗎视图只支持INSTEAD OF 触发器,如果你是视图 要这么做CREATE TRIGGER abcadd  ON abc –视图名
    FOR INSERT
    AS
         INSERT INTO abc1 –另一个表
       SELECT  *  FROM inserted ins
    会报错: 对象abc不存在,而视图abc确实命名存在的。
    CREATE TRIGGER abcadd  ON abc 
    INSTEAD OF INSERT
    AS
       INSERT INTO abc  SELECT  *  FROM inserted ins
    INSERT INTO abc1  SELECT  *  FROM inserted ins
      

  7.   

    你可以用级联更新莱做我不怎麼明白啊,先要建個視圖嗎,然後再在視圖上建觸發器嗎视图只支持INSTEAD OF 触发器,如果你是视图 要这么做CREATE TRIGGER abcadd  ON abc –视图名
    FOR INSERT
    AS
         INSERT INTO abc1 –另一个表
       SELECT  *  FROM inserted ins
    会报错: 对象abc不存在,而视图abc确实命名存在的。
    CREATE TRIGGER abcadd  ON abc 
    INSTEAD OF INSERT
    AS
       INSERT INTO abc  SELECT  *  FROM inserted ins
    INSERT INTO abc1  SELECT  *  FROM inserted ins