sql触发器

  1. <pre class="sql" name="code">-- =============================================  
  2. -- Author:      QW  
  3. -- Create date: 2011-5-5  
  4. -- Description: 项目信息表触发器,添加时触发  
  5. -- =============================================  
  6. ALTER TRIGGER [dbo].[TRIGGER_INSERT_PROJECT_INFO]  
  7.    ON [dbo].[project_info]  
  8.    AFTER INSERT  
  9. AS   
  10.   
  11. declare @interval_day int,@oper_cond varchar(10)  
  12. declare @pStartTime datetime,@pEndTime datetime,@Id int,@pType int,@pTypeChild int,@pTypeChildZhuanye int  
  13. </pre><pre class="sql" name="code">--检验游标cur_insert的存在性,如果存在就删除   
  14. if cursor_status('global', 'cur_insert') <> -3   
  15. or cursor_status('local', 'cur_insert') <> -3   
  16. begin   
  17.     deallocate cur_insert               
  18. end  
  19.   
  20. --添加时触发  
  21. if exists(select 1 from inserted)  
  22. begin  
  23.     declare cur_insert cursor local for  
  24.     select Id,pName,pStartTime,pEndTime,pType,pTypeChild,pTypeChildZhuanye,pCreateUser from inserted  
  25.       
  26.     open cur_insert --打开游标  
  27.     fetch next from cur_insert into @Id,@pName,@pStartTime,@pEndTime,@pType,@pTypeChild,@pTypeChildZhuanye,@pCreateUser  
  28.     while @@fetch_status = 0  
  29.     begin     
  30.           
  31.         if not exists(select * from exc_projrun_t where ProjectID=@Id)  
  32.         BEGIN  
  33.               
  34.             insert into exc_projrun_t(ProjectID,OperatingCondition,NodeName,PreviousNode,ProjectState,UpdateTime)  
  35.             values(@Id,@oper_cond,'登记审核','项目登记','运行中',Current_Timestamp);  
  36.               
  37.         END  
  38.           
  39.                               
  40.         --下一行  
  41.         fetch next from cur_insert into @Id,@pName,@pStartTime,@pEndTime,@pType,@pTypeChild,@pTypeChildZhuanye,@pCreateUser  
  42.     end  
  43.       
  44.     close cur_insert  
  45.       
  46.     deallocate cur_insert   
  47. end  
  48. </pre> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值