从另一个存储过程执行存储过程

时间:2015-03-12 10:42:17

标签: sql sql-server stored-procedures

我想从另一个过程执行一个过程,并在临时表中存储过程结果中的特定列而不声明它但是列不知道,并且更改取决于条件。

我尝试过以下代码但不能正常工作

select * into #Temp1 from Exec(Procedure @parameter)

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:1)

使用OPENROWSET将SP的结果插入temp

在使用OPENROWSET之前,您必须配置Ad Hoc Distributed Queries

sp_configure 'Show Advanced Options', 1
GO
RECONFIGURE
GO
sp_configure 'Ad Hoc Distributed Queries', 1
GO
RECONFIGURE
GO

SELECT * INTO #Temp 
FROM OPENROWSET('SQLNCLI', 'Server=yourservername;Trusted_Connection=yes;',
     'EXEC Procedure @parameter')

SELECT * FROM #Temp