求循环的SQL语句。

zl194 2010-06-23 01:33:04
在SQL2000中有这样一个表

SELECT 'AA' AS C1,1 AS C2,21 AS C3 INTO mytb1 UNION
SELECT 'AA' AS C1,2 AS C2,43 AS C3 UNION
SELECT 'AA' AS C1,3 AS C2,12 AS C3 UNION
SELECT 'AA' AS C1,4 AS C2,23 AS C3 UNION
SELECT 'AA' AS C1,5 AS C2,32 AS C3 UNION
SELECT 'AA' AS C1,6 AS C2,24 AS C3


SELECT * from mytb1


我想用表里的C1,C2,C3 作为参数 执行另一个存储过程,这样的循环该怎么写呢。

...全文
129 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
TheGodOfGods 2010-06-23
  • 打赏
  • 举报
回复
没用过游标,帮顶
ask_chang 2010-06-23
  • 打赏
  • 举报
回复
如果是函数的话
select dbo.函数名称(c1,c2,c3) from mytb1

个人见解
zl194 2010-06-23
  • 打赏
  • 举报
回复
谢谢大家。
ask_chang 2010-06-23
  • 打赏
  • 举报
回复
declare cursor_A cursor
for SELECT * from mytb1
declare @C1 varchar(20),@C2 varchar(20),@C3 varchar(20)
open cursor_A
fetch next from cursor_A into @C1,@C2,@C3
while (@@fetch_status=0)
begin
exec procname @C1,@C2,@C3
fetch next from cursor_A into @C1,@C2,@C3
end
close cursor_A
deallocate cursor_A

支持#3
永生天地 2010-06-23
  • 打赏
  • 举报
回复
能不能再具体的说一下呢
nightmaple 2010-06-23
  • 打赏
  • 举报
回复
如果你是要多次执行结果放到一个表中,可以用下面的
--同执行存储过程返回的结构一样的表
create table #result
(
--字段列表
)
go

declare cursor_A cursor
for SELECT * from mytb1
declare @C1 varchar(20),@C2 varchar(20),@C3 varchar(20)
open cursor_A
fetch next from cursor_A into @C1,@C2,@C3
while (@@fetch_status=0)
begin
insert into #result exec procname @C1,@C2,@C3
fetch next from cursor_A into @C1,@C2,@C3
end
close cursor_A
deallocate cursor_A

select * from #result
nightmaple 2010-06-23
  • 打赏
  • 举报
回复
declare cursor_A cursor
for SELECT * from mytb1
declare @C1 varchar(20),@C2 varchar(20),@C3 varchar(20)
open cursor_A
fetch next from cursor_A into @C1,@C2,@C3
while (@@fetch_status=0)
begin
exec procname @C1,@C2,@C3
fetch next from cursor_A into @C1,@C2,@C3
end
close cursor_A
deallocate cursor_A
chuifengde 2010-06-23
  • 打赏
  • 举报
回复
游标。。
百年树人 2010-06-23
  • 打赏
  • 举报
回复
用游标吧

34,875

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧