清风的blog 优然探索

触发器

  CREATE   TRIGGER   onPlanMo1Delete   ON   [dbo].[PlanMO1]    
  FOR   DELETE    
  AS  
  declare   @MoNo   varchar(20),  
                            @line   smallint;  
  declare   #aa   cursor   for   select   mono,line   from   deleted  
  open   #aa  
  fetch   next   from   #aa   into   @mono,@line  
  while   @@fetch_status=0  
  begin  
          IF   (SELECT   PKQty+PKQtyL   FROM   PlanMO2   WHERE   PMONO=@MoNo   AND   PMoLine=@line)>0  
          Begin  
                  rollback   transaction  
                  return  
          end  
   
          IF   (SELECT   PKQty+PKQtyL   FROM   PlanMO2   WHERE   PMONO=@MoNo   AND   PMoLine=@line)=0  
          Begin  
                  DELETE     from   PlanMo2   where   PMONO   =@MoNo     AND   PMoLine=@Line  
          end    
          fetch   next   from   #aa   into   @mono,@line  
  end  
  close   #aa  
  deallocate   #aa  
 

2009年8月24日 | 发布:admin | 分类:技术文章 | 评论:0

发表留言: