SqlServer 上已存在临时表

问题描述 投票:0回答:1

为什么 SqlServer 会出现这种行为

IF @xx = 1
  SELECT 1 INTO #tbl FROM x
ELSE
  SELECT 2 INTO #tbl FROM y

运行时出错:表#tbl已经存在

sql-server t-sql temp-tables
1个回答
0
投票

骗子(一个两个)解释了为什么你不能做你想做的事完全

这些骗子没有描述如何在您的具体情况下解决它。一个想法:

SELECT x INTO #tbl FROM
(
  SELECT 1 FROM x WHERE @xx = 1
  UNION ALL
  SELECT 2 FROM y WHERE @xx <> 1
) AS z(x);
© www.soinside.com 2019 - 2024. All rights reserved.