SQL中SELECT语句中的EXEC

时间:2011-11-03 12:29:54

标签: sql sql-server tsql

我有一个存储过程,它获取一些输入并返回输出(从函数转换) 另外,我有一个SELECT语句,用于从多个表中检索数据并用于调用该函数 我只想在SELECT语句中执行存储过程并获得一个结果集 例如:

SELECT a, b, c, @var=exec sp_name par1, par2 or
SELECT col1, col2, col3, exec SP_name par1, par2 output

2 个答案:

答案 0 :(得分:6)

你不能这样做。存储过程不能作为内联语句执行。除非您计划在存储过程中进行数据操作,否则您应该将其转换回函数。

或者您可以随时执行以下操作:

exec spYourProc @firstINvar, @firstOUTvar output

如果您有OUTPUT参数,则可以在SELECT查询中使用输出参数,或者允许参数的任何查询。

答案 1 :(得分:0)

也许您的任务可以使用文章"How to specify output parameters when you use the sp_executesql stored procedure in SQL Server"中描述的sp_excutesql来解决?