create table a (a int)
create table b (b int)
go
CREATE TRIGGER 名 on a
INSTEAD OF INSERT
AS
BEGIN
  INSERT b select * from inserted
END
go--测试:
insert a values(1)
insert a values(2)--看结果:
select * from a
select * from b

解决方案 »

  1.   

    create table test (a int ,b int)
    create trigger tr_test on test
    instead of insert
    asinsert test select '1','2'goinsert test select '5','7'select * from test
    --
    发现5,7没有插入,而是1,2替代了,就是说
    insert test select '5','7'语句只是引起触发器触发,而本身的语句被替代执行了
      

  2.   

    INSTEAD OF 触发器的主要优点是使不可被修改的视图能够支持修改其中典型的例
    子是分割视图partitioned view 为了提高查询性能分割视图通常是一个来自多个表
    的结果集但是也正因此而不支持视图更新这个怎么解释呀
      

  3.   

    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')
      

  4.   

    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')
      

  5.   

    INSTEAD OF 触发器的主要优点是使不可被修改的视图能够支持修改其中典型的例
    子是分割视图partitioned view 为了提高查询性能分割视图通常是一个来自多个表
    的结果集但是也正因此而不支持视图更新这个怎么解释呀
    假如有两个 table,分别为 Test1,Test2。
    Test1中的栏位为 T1One,T1Two;Test2中的栏位为T2One,T2Two;
    其中
    有一个View,创建如下
      create view vTest
      as
        select T1One,T1Two,T2One,T2Two
        from Test1,Test2
      go
    我们知道,可以通过view来修改对应的table,
    那么:update vTest set T1One='aaa',T1Two='bbb' 这一句应该成立,
    但是:update vTest set T1One='aaa',T2Two='bbb' 这一句就不成立了,因为它们分别对应两个table.INSTEAD OF Trigger就可以解决这种partitioned view 的修改问题