【发布时间】:2010-04-08 14:37:21
【问题描述】:
我收到错误消息:消息 2714,级别 16,状态 1,第 16 行 数据库中已经有一个名为“#mytemptable”的对象。
有很多方法可以解决它,但想知道为什么会发生这种情况。似乎 SQL Server 正在验证 if/else 语句的两个块?
declare @choice int
select @choice = 1
if @choice = 1
begin
select 'MyValue = 1' AS Pick into #my_temp_table
end
else
begin
select 'MyValue <> 1' AS Pick into #my_temp_table
end
select * from #my_temp_table
drop table #my_temp_table
如果表有不同的名称,它可以工作。或者,如果我创建临时表并使用 Insert Into... 也可以使用的语句。
【问题讨论】:
标签: sql-server-2005 tsql