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

前端之家收集整理的这篇文章主要介绍了sql – 可以在不使用游标的情况下对集合执行存储过程吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在一个集合中的每一行上执行一个存储过程,而不使用像这样的光标:

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

猜你在找的MsSQL相关文章