初学者,问一个困扰了我很久的问题。请大家帮助

huaqingting 2006-03-01 10:53:12
在一个存储过程中,我需要先检索一个数据集,然后我需要遍历这个数据集来确定向临时表中插入的数据。比如说这个记录集中所有的纪录A字段的值都为空,我向临时表插入的数据是一种情况。有不是空的我向临时表插入数据又是另外一种情况。因为数据集太大,游标的速度实在太慢。
我想请教:存储过程中有没有另外一种数据集是支持循环的。
如果有是怎么循环的呢?谢谢大家
...全文
90 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
gimy007 2006-03-01
  • 打赏
  • 举报
回复
同上
新鲜鱼排 2006-03-01
  • 打赏
  • 举报
回复
mark
lsqkeke 2006-03-01
  • 打赏
  • 举报
回复
create proc dd
as
if(exists(select 1 from tb where A<>''))
--说明记录中A字段存在不为空的情况
--此处加入该情况下的处理代码
else
--说明记录集合中A字段的内容全为空
--此处加入该情况下的处理代码
huaqingting 2006-03-01
  • 打赏
  • 举报
回复
顶起来,大家讨论一下。难道sqlserver中真的没有一个合适的数据结构可以实现比较方便的循环吗?
mislrb 2006-03-01
  • 打赏
  • 举报
回复
--这样试试看,生成两个表,再比较ID相同的记录

select id=identity(int,1,1),* into #1 from yourtable
select id=identity(int,0,1),* into #2 from yourtable
mislrb 2006-03-01
  • 打赏
  • 举报
回复
--这样试试看,生成两个表,再比较ID相同的记录

select id=identity(int,1,1),* into #1 from yourtable
select id=identity(int,1,1),* into #2 from yourtable

huaqingting 2006-03-01
  • 打赏
  • 举报
回复
感谢大家这么快的回复,我主要是想循环记录集,用上一条和下一条相比如果满足一定的条件就向临时表插入纪录。用游标第一速度很慢,第二操作起来很不方便。
用上面的方法好像行不通。

34,590

社区成员

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

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