您的位置:程序门 -> ms-sql server -> 基础类



一个关于触发器的简单问题!!


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


一个关于触发器的简单问题!!
发表于:2007-04-30 11:18:31 楼主
有表1,表2,表3,表1为表2的主表,表2为表1的子表,
想做一个触发器,在删除表1的时候,将一些数据写入到表3.
例如:
表1:   id,ctype
表2:autoid,id,iquantity,oid
表3:oid,iquantity
create   trigger   om_record   on   rdrecord
for         delete
as
      declare   @ctype   nvarchar(20)  
      declare   @oid   int                              
      declare   @autoid   int                        
      declare   @id   int    
      if   not   exists(select   1   from   inserted)   and     exists(select   1   from   deleted)--删除
          set   @ctype=(select   ctype   from   deleted)    
          set   @id=(select   id   from   deleted   )
         
      if   @ctype= '加工 '
      begin
     
                    update       表3   set     表3.iquantity=   表3.iquantity-表2.iquantity  
from   deleted,表2,表3   where   deleted.id=表2.id   and   表3.oid=表2.oid
                         
  end

出现约束错误,请教如何写这个触发器!!!!


发表于:2007-04-30 11:21:221楼 得分:0
表1与表2有外键约束
并不是触发器的错误,是不能删除表1中的数据


快速检索

最新资讯
热门点击