我有一个存储过程,它获取一些输入并返回输出(从函数转换)
另外,我有一个SELECT
语句,用于从多个表中检索数据并用于调用该函数
我只想在SELECT
语句中执行存储过程并获得一个结果集
例如:
SELECT a, b, c, @var=exec sp_name par1, par2 or
SELECT col1, col2, col3, exec SP_name par1, par2 output
答案 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
来解决?