在不使用游标的情况下对SELECT中的所有行执行存储过程

时间:2019-01-24 16:51:09

标签: sql sql-server sql-server-2016

我有一个返回n行的SQL,

SELECT * FROM TABLE

对于每一行,我想执行一个存储过程。我知道我可以使用游标,但我想避免使用游标?有可能吗?

2 个答案:

答案 0 :(得分:2)

您只有几个选择。修改您的过程以接收表值函数,以便您可以处理基于集合的函数。否则您可能会陷入某种循环,很可能是游标。

答案 1 :(得分:0)

难以回答,因为您没有确切说明要使用存储过程实现的目标,但是有可能使用存储函数代替存储过程。

https://docs.microsoft.com/en-us/sql/relational-databases/user-defined-functions/create-user-defined-functions-database-engine?view=sql-server-2017