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

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

不知道仅在SP中使用SQL语句是否可以实现
谢谢!
...全文
436 4 点赞 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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
  • 打赏
  • 举报
回复
相关推荐
发帖
疑难问题
加入

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2013-02-20 11:40
社区公告
暂无公告