加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 可以在不使用游标的情况下对集合执行存储过程吗?

发布时间:2020-12-12 16:16:57 所属栏目:MsSql教程 来源:网络整理
导读:我想在一个集合中的每一行上执行一个存储过程,而不使用像这样的光标: SELECT EXEC dbo.Sproc @ Param1 = Table1.id FROM表1 我在SQL Server 2005中使用T-SQL.我认为这可能是使用一个函数,但是如果可能,我想使用存储过程(公司标准) 解决方法 9的10次,你可以做
我想在一个集合中的每一行上执行一个存储过程,而不使用像这样的光标:

SELECT EXEC dbo.Sproc @ Param1 = Table1.id
FROM表1

我在SQL Server 2005中使用T-SQL.我认为这可能是使用一个函数,但是如果可能,我想使用存储过程(公司标准)

解决方法

9的10次,你可以做你想要的没有光标或while循环.但是,如果你必须使用一个,我发现while循环往往更快.

另外如果你不想删除或更新表,你可以使用这样的东西:

WHILE @id IS NOT NULL
BEGIN
    SELECT top 1 @id = MIN(id) FROM Table WHERE id > @id
    IF @id IS NOT NULL
    BEGIN
        exec dbo.Sproc @Param1 = @id
    END
END

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读