select语句中的存储过程

时间:2013-12-04 10:22:35

标签: sql-server

我想在Select语句中获取Stored过程的返回值。 但它没有成功。我也跑了 Sp单独工作正常。 实施例

DECLARE @ResponseRet VARCHAR(max); EXECUTE get_response_by_question_panelistid_sp 6,1,1,117977 , @Response = @ResponseRet OUTPUT PRINT @ResponseRet

但我把它们放在select中,不能执行它们

SELECT TOP 10 PanelistID, DisplayName,Email,FirstName,LastName, EXEC dbo.get_response_by_question_panelistid_sp 6,1,1,117977 as 'Are you …?' FROM PFO_Panelists_1

我无法使用函数,因为我使用的是动态表名。

还尝试在函数中执行此SP,它给出了以下错误

只能在函数内执行函数和一些扩展存储过程。

任何解决方案?

1 个答案:

答案 0 :(得分:1)

在这种情况下,您可以创建一个临时表并在该表中插入值。然后,您可以在查询中使用临时表。

例如:

create procedure testproc
as select 1 as one, 2 as two

go

create table #temp(one int, two int)

insert into #temp
exec testproc

select one, two from #temp