永发信息网

sql循环执行存储

答案:3  悬赏:60  手机版
解决时间 2021-08-13 05:04
  • 提问者网友:最爱你的唇
  • 2021-08-12 10:49

 

select  id1,id2 from table

exec 存储 id1,id2

 

我想要实现的功能是

查询列表 并将列表的值作为参数传给另一个存储

select  id1,id2 from table

返回的是列表

例:

id1         id2

1              111

2              12

3               11

exec 1,111

exec 2,12

exec 3,3

 

逻辑上 应该就是

查询一条执行一次 存储

不知道如何实现,各位大侠帮帮忙

最佳答案
  • 五星知识达人网友:猎心人
  • 2021-08-12 12:16

定义变量,先查出table中标识列的最大值,建议Table中添加标识列,代码如下:


declare @Icount int


select @id= max(id) from table


declare @id1 int


declare @id2 int


while(@id> 0)


begin


select @id1 = id1 ,@id2 = id2 from table where id = @id


exec 存储 @id1,@id2


set @id = @id -1


end


全部回答
  • 1楼网友:忘川信使
  • 2021-08-12 13:56

declare @cur cursor

set @cur =cursor for

select  id1,id2 from table;

open @cur

declare @id1 int,@id2 int

fetch next from @cur into @id1,@id2

while @@FETCH_STATUS =0

begin

exec abcdefg @id1,@id2

fetch next from @cur into @id1,@id2

end

close @cur

  • 2楼网友:狂恋
  • 2021-08-12 13:34
你没有用到For循环啊,全都放在条件里面就OK啊
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯