将MSSQL Server 2008临时表导出到Excel电子表格中

时间:2014-06-17 09:56:24

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

我有一个在MSSQL 2005中创建的存储过程,它将数据存储在全局临时表(## Temp)中。当我在MSSQL 2005中使用导出向导功能时,我可以将数据导出到excel文件中。

但是,当我在MSSQL 2008中运行相同的存储过程并尝试使用导出向导将临时表中的数据导出到excel文件时,我收到一个无效的对象名称' ## Temp'错误。

我可以知道为什么会这样,我该如何纠正呢。请告知如何解决。

这是我创建全局临时表

的存储过程的一部分
 SET @SQLStrMain = RTRIM(@SQLStrMain_Prefix)
 SET @SQLStrMain = @SQLStrMain + ',' + RTRIM(@SQLStrMain_Txn)
 SET @SQLStrMain = @SQLStrMain + ',' +  RTRIM(@SQLStrMain_Amt)
 SET @SQLStrMain = @SQLStrMain + ' INTO ##Temp '
 SET @SQLStrMain = @SQLStrMain + ' FROM ( '
 SET @SQLStrMain = @SQLStrMain + RTRIM(@SQLStrSub) 
 SET @SQLStrMain = @SQLStrMain + RTRIM(@SQLStrMain_Postfix)
 EXEC (SQLStrMain )

根据MSDN,MSSQL 2008确实支持## Temp命名约定

1 个答案:

答案 0 :(得分:0)

使用Radu Gheorghiu的想法,我将## Temp更改为TempTable(没有##),而不是使用命令

 Drop Table TempTable 

执行SP后删除TempTable。因此,每当我重新运行sp时,我都不会有任何问题。