SQLSERVER 游标
Posted 爱码农
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQLSERVER 游标相关的知识,希望对你有一定的参考价值。
ALTER PROCEDURE [dbo].[PROC_UpdMonthStatus] AS BEGIN declare @a int, @error int, @Id varchar(36), @Area varchar(200), @Department varchar(200), @Year INT, @Month INT set @a=1 set @error=0 --申明游标为Uid declare order_cursor cursor for (select Id,Area,Department,ReportYear,ReportMonth from AreaMonthReport where Status=3) --打开游标-- open order_cursor --开始循环游标变量-- fetch next from order_cursor into @Id,@Area,@Department,@Year,@Month while @@FETCH_STATUS = 0 --返回被 FETCH语句执行的最后游标的状态-- begin ---添加一天办理记录 DECLARE @CreatorId varchar(36) SET @CreatorId=(select TOP 1 CreatorId from AuditOptions where AreaMonthReportId=@Id order by CreateTime desc) insert into AuditOptions(ID,Link,CreateUser,CreatorId,OptionText,CreateTime,AreaMonthReportId) values (NEWID(),‘总部审核‘,@CreatorId,‘‘,‘自动同意‘,GETDATE(),@Id) --修改ProjectMonthTrack update ProjectMonthTrack set ProjectStatus=5 where [email protected] and [email protected] and [email protected] and ReportMonth=@Month --修改AreaMonthReport update AreaMonthReport set Status=5 where Id=@Id set @[email protected]+1 set @error= @error + @@ERROR --记录每次运行sql后是否正确,0正确 fetch next from order_cursor into @Id,@Area,@Department,@Year,@Month --转到下一个游标,没有会死循环 end END GO
以上代码主要实现了一条添加,以及2条修改记录
以上是关于SQLSERVER 游标的主要内容,如果未能解决你的问题,请参考以下文章