从exec中选择* into #tempTable命令显示错误

时间:2014-07-24 05:00:39

标签: sql sql-server sql-server-2008

我正在执行包含以下代码的字符串

DECLARE @BadgeNo NVARCHAR(MAX);
SET @BadgeNo='8107';

SELECT * INTO #Testing 
   EXEC spNotification 'Param1','Param2','Param3','Param4';

EXEC  spSqlTmpTblToHtmlTbl 'tempdb..#Testing'

我只想要html格式的结果。所以我正在执行spnotification以获得结果。

spSqlTmpTblToHtmlTbl将临时表转换为表格格式。但是这是一个我无法从spNotification结果创建临时表的问题。我知道

select * into 

命令无法使用exec命令。那我怎么能实现这个呢?

2 个答案:

答案 0 :(得分:2)

你可能想做这样的事情“:

CREATE TABLE #Testing 
(
   COLUMN1 INT,
   COLUMN2 INT
)

INSERT INTO #Testing 
Exec spNotification 'Param1','Param2','Param3','Param4';

同时检查How to SELECT * INTO [temp table] FROM [stored procedure]

或者您可以尝试使用OPENQUERY:

SELECT  *
INTO    #Testing 
FROM    OPENQUERY(YOURSERVERNAME, 'Exec spNotification 'Param1','Param2','Param3','Param4'')

答案 1 :(得分:0)

试试这个:

DECLARE @Testing TABLE 
  ( 
     COLUMN1 INT, 
     COLUMN2 INT 
  ) 

INSERT INTO @Testing 
            (COLUMN1, 
             COLUMN2) 
EXEC SPNOTIFICATION 
  'Param1', 
  'Param2', 
  'Param3', 
  'Param4';