是否可以在sql server 2005中执行类似的操作?
WITH tmpTable AS (EXEC spWhatever)
或者我可以查询从sp返回的数据的任何其他方式?感谢!!!
答案 0 :(得分:5)
临时表:
CREATE TABLE #foo (col1 int, col2 char(10), ...)
INSERT #foo
EXEC myproc
或环回(不确定这是否仍然有效)。编辑:根据SQLMenace的回答可以是OPENROWSET
SELECT * FROM OPENQUERY (MyServername, 'USE MyDB EXEC myproc')
答案 1 :(得分:4)
如果您不想首先创建表格,请仅使用环回查询,请参阅此处:Store The Output Of A Stored Procedure In A Table Without Creating A Table
例如
SELECT * INTO #TempSpWho
FROM OPENROWSET ('SQLOLEDB','Server=(local);TRUSTED_CONNECTION=YES;',
'set fmtonly off exec master.dbo.sp_who')
SELECT * FROM #TempSpWho
答案 2 :(得分:1)
据我所知,你不能。但是你可以尝试使用用户自定义函数(UDF)而不是SP,如果你这样做,你可以像桌子一样使用它。