欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » Sql随手笔记 » 正文

热门阅读

触发器中的游标

创建时间:2011年06月09日 20:44  阅读次数:(5303)
分享到:

触发器响应Insert,要处理每条记录,需要使用游标吗?  
  这里使用游标,是不是多余的?请指教  
  我是这样写的。  
  SET   QUOTED_IDENTIFIER   OFF    
  GO  
  SET   ANSI_NULLS   ON    
  GO  
   
  --   新建触发器  
  ALTER     trigger   trig_level_ST_River_R --   触发器名称  
  on   [zj_sy_st].dbo.ST_River_R   --   对应的表名  
  for   insert  
  as  
  begin  
  --   触发器语句块--------------------------------------------------------------开始  
  SET   NOCOUNT   ON  
  declare   @stcd   varchar(8) --   站点ID  
  declare   @YMDHM   datetime --   当前所对应的时间  
  declare   @ZR decimal(8,2) --   水位  
   
  --   定义一个查询逻辑表的游标  
  declare   level_cursor   cursor   local   for   select   stcd,YMDHM,ZR   from   inserted  
  open   level_cursor  
  fetch   next   from   level_cursor   into   @stcd,@YMDHM,@ZR  
  while   @@fetch_status=0  
  begin  
  --   循环游标  
  --   执行存储过程  
  set   @stcd=rtrim(@stcd)  
  set   @stcd=lower(@stcd)  
  if   DATEADD(   hh   ,   -3,   getdate())   <=   @YMDHM  
  exec     [oa].dbo.proc_warnning_site_level   @stcd,@YMDHM,@ZR,'河道'  
  fetch   next   from   level_cursor   into   @stcd,@YMDHM,@ZR  
  end  
  --   关闭游标  
  close   level_cursor  
  --   释放游标  
  DealLocate   level_cursor  
  --   触发器语句块--------------------------------------------------------------结束  
  end  
   
  GO  
  SET   QUOTED_IDENTIFIER   OFF    
  GO  
  SET   ANSI_NULLS   ON    
  GO  

N 嶯/f萐黚}T哊
来源:
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论0条
  • 暂无任何评论,请留下您对本文章的看法,共同参入讨论!
发表评论:
留言人:
内  容:
请输入问题 20+6=? 的结果(结果是:26)
结  果: