【发布时间】:2011-05-12 02:37:09
【问题描述】:
这里有一些示例代码:
if object_id('tempdb..#TempList') is not null drop table #TempList
create table #TempList (
ID int,
Name varchar(20)
)
insert into #TempList values (1, 'Alpha')
insert into #TempList values (2, 'Beta')
insert into #TempList values (3, 'Gamma')
insert into #TempList values (4, 'Delta')
insert into #TempList values (5, 'Omega')
select * from #TempList
if object_id('tempdb..#TempList') is not null drop table #TempList
drop table #TempList
create table #TempList (
ID_New int,
AnotherID int,
Name_New varchar(40)
)
insert into #TempList values (100, 110, 'Orange')
insert into #TempList values (101, 111, 'Red')
insert into #TempList values (102, 112, 'Purple')
insert into #TempList values (103, 113, 'Blue')
insert into #TempList values (104, 114, 'Green')
select * from #TempList
这会产生以下错误:
Msg 2714, Level 16, State 1, Line 19
There is already an object named '#TempList' in the database.
我不能在同一个 SQL 脚本中重复使用同一个临时表名称吗?有没有办法重复使用相同的临时表名称?
谢谢。
【问题讨论】:
-
还有一个全局的##tempTables,可以在一个连接下用于不同的查询,你可以在开始时用##命名来声明全局临时表
标签: sql sql-server temp-tables