更新触发器:
表1两个字段:a1,a2
表2两个字段:b1,b2
a1=b1
在表2中插入一条记录时,更新该记录中b2=100
我是这么写的,但是更新的结果是全部记录b2都变成了100。不知怎么用where
CREATE TRIGGER Present ON dbo.b1 
FOR INSERT
AS
UPdate b1
set b1.quantity=100

解决方案 »

  1.   

    对不起,写错了。
    CREATE TRIGGER Present ON dbo.表2 
    FOR INSERT
    AS
    UPdate 表2
    set 表2.quantity=100如果在表1插入时用触发器插入一条记录使a1=b1
    CREATE TRIGGER aaa ON dbo.表1 
    FOR INSERT
    AS
    insert into 表2(b1,b2) values(表1.a1,100)这哪里错了。
      

  2.   

    呵呵,不全改才怪了!
    试一试
    CREATE TRIGGER Present ON dbo.表2 
    FOR INSERT
    AS
    UPdate inserted
    set quantity=100
      

  3.   

    不过,强烈建议能不用trigger尽量不用。
      

  4.   

    CREATE TRIGGER Present ON dbo.表2 
    FOR INSERT
    as
    if exists(select * from inserted)
    begin
     insert into 表2(b1,b2) values(select B1 from inserted,100)end
      

  5.   

    CREATE TRIGGER aaa ON dbo.表1 
    FOR INSERT
    AS
    insert into 表2(b1,b2)
    select a1,100 from inserted