2011-01-07 4 views

ответ

5

Temp стол:

CREATE TABLE #foo (col1 int, col2 char(10), ...) 

INSERT #foo 
EXEC myproc 

Или петлевой (не уверен, если это все еще работает). Edit: Может быть OpenRowset согласно ответу SQLMenace в

SELECT * FROM OPENQUERY (MyServername, 'USE MyDB EXEC myproc') 
+0

стол Temp работал для того, что мне было нужно, спасибо. Иногда ответ прямо перед вами. Благодаря! – Mike

1

, насколько я знаю, вы не можете. Но вы можете попробовать использовать пользовательские функции (UDF) вместо SP, если вы это сделаете, вы можете использовать его как таблицу.

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 
+0

На это влияет DisallowAdHocAccess? http://support.microsoft.com/kb/327489 – gbn

+0

Да, вам нужно сначала включить OPENROWSET, см. здесь http://blogs.lessthandot.com/index.php/DataMgmt/DataDesign/how-to-enable-xp_cmdshell -он-SQL-сервер-2005 – SQLMenace

Смежные вопросы