我感觉自己好笨。 总是有错误。
哪位大侠帮我在表A上写个触发器。
       
 当insert 表A的时候。
 如果表A中的a小于表B的b。则表B的b-a。
如果a>b。则刚才的insert A 撤销。
小弟愚笨。望大家别唾弃。

解决方案 »

  1.   

    错误的触发器设置。
    这个完全可以在存储过程中进行判断和操作。触发器:create Trigger [Trigger_Name]
    On [A]
    For insert
    As
    begin

    declare @id int = (select id from inserted),
    @diff int = (select (a - B.b) from inserted 
    inner join B on B.ID = @id)

      IF @diff < 0
      Begin 
    Update B
    set b = @diff
    where B.ID = @id
      end
      else
      begin
    delete from A where A.ID = @ID
      end
    END
      

  2.   

    在else 后面添加一个print 显示“数量不足”怎么不显示?
      

  3.   

    触发器是没有输入输出参数的如果想要返回结果,就放到proc里面处理吧