请教:仅在SQL中怎样实现遍历查询记录?

tomyi 2013-02-20 11:40:12
我的需求是这样的:
1、从一个表中查询符合条件的字段1
2、想遍历查询字段1的值,根据值不同,调用各自的SP用于其他计算处理

不知道仅在SP中使用SQL语句是否可以实现
谢谢!
...全文
520 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
szm341 2013-02-20
  • 打赏
  • 举报
回复
所谓的遍历字段1是否就是查询出字段1的一组值,然后按照每个字段1里的值来决定sp的使用 可以用游标执行


declare @col1 varchar(50)
declare cursor1 cursor for
select col1 from tb
open cursor1
fetch next from cursor1 into @col1
while @@fetch_status=0
begin
if @col1='a' exec sp1
else if @col1='b' exec sp2
else if @col1='c' exec sp3
else if @col1='d' exec sp4
else exec sp5
fetch next from cursor1 into @col1
end
close cursor1
deallocate cursor1

tomyi 2013-02-20
  • 打赏
  • 举报
回复
先谢谢了,能否给一个思路: 主要是遍历取记录问题希望详细
szm341 2013-02-20
  • 打赏
  • 举报
回复
sp的嵌套吗,可以啊
tomyi 2013-02-20
  • 打赏
  • 举报
回复
测试过,没有问题,谢谢指点 实际代码在触发器内如下
declare @ID_ChipSize BIGINT

declare cursor1 cursor for select ID_ChipSize from ChipSize where MTWID > 0

open cursor1
fetch next from cursor1 into @ID_ChipSize
while @@fetch_status=0
BEGIN
	print @ID_ChipSize
	EXEC [1A_CalMainChipSize] @ID_ChipSize -- 调用SP实现不同计算

	fetch next from cursor1 into @ID_ChipSize
END
close cursor1
deallocate cursor1

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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