我有一个存储过程,它获取一些输入并返回输出(从函数转换而来)
另外,我有一个 SELECT
语句,它从多个表中检索数据并用于调用该函数。
我只想在 SELECT
语句中执行存储过程并获得一个结果集
示例:
SELECT a, b, c, @var=exec sp_name par1, par2 or
SELECT col1, col2, col3, exec SP_name par1, par2 output
最佳答案
你不能这样做。存储过程不能作为内联语句执行。除非您打算在存储过程中进行数据操作,否则您真的应该将其转换回函数。
或者你总是可以这样做:
exec spYourProc @firstINvar, @firstOUTvar output
如果您有一个 OUTPUT
参数,您可以在 SELECT
查询或任何允许参数的查询中使用输出参数。
关于sql - SQL 中的 SELECT 语句中的 EXEC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7994871/