表里有 jf  hb a b c d 这六个字段,怎么实现只有当a b c d 大于0的时候才可以更改它们的值,而不能透支.用什么实现好.

解决方案 »

  1.   

    --use Trigger
    Create trigger trigname on 表
    for update
    as
     if exists(Select * from deleted where a<=0 or b<=0 or c<=0 or c<=0)
       Rollback tran
    go  
      

  2.   

    如果>=0的时候我想执行下面这条语句,该如何建触发器,可以传参数进来的吗?
    update 表 set jf=jf+"+ a +"+"+ b +"+"+ c +"+"+d +",hb=hb-"+ hb +",a=a+"+ a +",b=b+"+ b +",c=c+"+ c +",d=d+"+ d +" where UserName='"+ username +"'";