[sqlserver]如何在while循环语句中实现对游标的fetch后赋值给相应变量
@@sqlserver 游标 当前列 赋值
希望在while时,实现对游标fetch后将取得的值赋给相应的变量。
如下面的程序,但是没有成功赋值。希望高手解决!!
如下:
create table #promprod (sevencode nvarchar(20))
insert into #promprod values ('0063173')
insert into #promprod values ('0057584')
insert into #promprod values ('0058495')
insert into #promprod values ('0058510')
insert into #promprod values ('0076541')
insert into #promprod values ('0097968')
declare @date1 varchar(10)
declare @date2 varchar(10)
declare @date3 varchar(10)
declare @date4 varchar(10)
declare @date5 varchar(10)
declare @date6 varchar(10)
declare mycursor cursor for
select sevencode from #promprod
open mycursor
fetch from mycursor into @date1
declare @i int
declare @sql varchar(7000)
set @i=1
while (@@FETCH_STATUS=0)
begin
set @i=@i+1
set @sql='fetch next from mycursor into @date'+cast(@i as varchar)
exec(@sql)
end
你这样不行的。 不可能直接执行 fetch 当成动太语句。它与游标是一个整体,你要全部加入动态sql.这样还不如不加.你可以用一个表来存储啊。或者直接就在选出的集合加一个行号就可以表示了
--加行号 select rn=row_number() over(order by getdate()) sevencode from #promprod -- 存入表中 create table #promprod (sevencode nvarchar(20)) insert into #promprod values ('0063173') insert into #promprod values ('0057584') insert into #promprod values ('0058495') insert into #promprod values ('0058510') insert into #promprod values ('0076541') insert into #promprod values ('0097968') create table #t(id int,value nvarchar(20)); declare @date1 varchar(10) declare @date2 varchar(10) declare @date3 varchar(10) declare @date4 varchar(10) declare @date5 varchar(10) declare @date6 varchar(10) declare @d varchar(10) declare mycursor cursor for select sevencode from #promprod open mycursor fetch from mycursor into @date1 declare @i int declare @sql nvarchar(4000) set @i=1 while (@@FETCH_STATUS=0) begin set @i=@i+1 fetch next from mycursor into @d; insert into #t select @i,@d; set @d=''; end close mycursor; deallocate mycursor; select * from #t; drop table #t,#promprod
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)