为什么 SqlServer 会出现这种行为
IF @xx = 1 SELECT 1 INTO #tbl FROM x ELSE SELECT 2 INTO #tbl FROM y
运行时出错:表#tbl已经存在
骗子(一个,两个)解释了为什么你不能做你想做的事完全:
这些骗子没有描述如何在您的具体情况下解决它。一个想法:
SELECT x INTO #tbl FROM ( SELECT 1 FROM x WHERE @xx = 1 UNION ALL SELECT 2 FROM y WHERE @xx <> 1 ) AS z(x);