有3张表
表A 字段 a,b,c
表B 字段 d
表C 字段 e,f,g当A中插入数据中的b=889的时候,更改B中d=d+1 ,插入c e vlaues d,f values c,f,g values a

解决方案 »

  1.   

    create trigger tr_a on a 
    after insert 
    as
    begin 
    if(select b from inserted )=889
    begin 
    update b
    set d=d+1;
    insert c (e,f,g)
    values((SELECT D FROM B),(SELECT C FROM INSERTED ),(SELECT A FROM INSERTED))
    end

    end
    只适合单条插入
      

  2.   

    参考精华贴  触发器综述http://topic.csdn.net/u/20081005/11/57061a18-c234-40ee-ba4b-1f4c3bc7f09a.html?38989
      

  3.   


    --什么版本的数据库insert into a (id,空间) values ((select id from a),(select id from a))
    这样也能过...........
      

  4.   

    SQL SERVER 
    在insert的时候报错:
    服务器: 消息 1046,级别 15,状态 1,过程 tbl_Alerts,行 10
    在此上下文中不允许使用子查询。只允许使用标量表达式。
      

  5.   

    create trigger tr_a on a 
    after insert 
    as
    declare @dv,@fv,@gv as int
    begin 
        if(select b from inserted )=889
        begin
           
            update b
            set d=d+1;
            select @dv=d+1 from b
            select @fv=a,@gv=c from inserted
            insert c (e,f,g)
            values select @dv,@fv,@gv
        end
        
    end