【发布时间】:2015-07-29 19:13:23
【问题描述】:
我一直在绞尽脑汁,但看不出下面的查询有什么问题。
我创建了一个临时表,它可以保存两个值之一。
这个想法是,如果存储了1,它会执行下面代码的第一部分(This),如果是2,它会执行下面的代码(That)。
麻烦的是代码不会运行,因为它“似乎”认为代码的两个部分都将被执行......我认为。有什么想法吗?
create table #Globals(G1 smallint);
insert into #Globals values (1);
--insert into #Globals values (2);
if (select G1 from #Globals) = 1
select 'This' as field1 into #x;
else if (select G1 from #Globals) = 2
select 'That' as field1 into #x;
Msg 2714, Level 16, State 1, Line 8
There is already an object named '#x' in the database.
【问题讨论】:
-
即使您尝试在第二次插入之前删除临时表,您也会得到相同的异常。请尝试改用我的建议。
标签: sql-server