我有存储过程,我将整个查询存储在字符串中然后执行它。现在我想将执行结果存储到临时表中以便进一步处理。 如下所示:
Exec @Mainsql - 这会返回查询结果,我需要将其结果插入临时表
我试过这样的事情:
Select * Into #TempTable
From
Exec @MainSQL
但我觉得它缺乏语法。
所以,我需要mainsql的结果进入temptable
答案 0 :(得分:0)
试试这个:
CREATE TABLE #TempTable AS
Exec @MainSQL
答案 1 :(得分:0)
您必须首先创建临时表,如果需要使用存储过程插入数据,则必须定义将从过程返回的所有列:
CREATE TABLE #TempTable (Col1 INT, Col2 VARCHAR(10))
INSERT INTO #TempTable
EXEC [ProcedureName]
另一种选择是使用OPENROWSET,如果您不知道返回的列:
SELECT * INTO #TempTable
FROM OPENROWSET('SQLNCLI', 'Server=.;Trusted_Connection=yes;', 'EXEC DBName.Schema.ProcedureName')