预计执行计划会因“插入”而引发错误 - 而“选择进入”则很好。这是为什么?

时间:2018-05-14 13:06:15

标签: sql-server tsql

我有两个szenarios(强烈简化)。 - 执行时(F5)一切都很好。 - 显示估计的执行计划(Ctrl-L)时出现错误:“无效的对象名称'#t1'。”

有没有办法使用第一个szenario(选择进入)并仍能够“Ctrl-L”和“F5”代码?像SSIS中的“延迟验证”一样?

--first szenario: select into
if object_id ('tempdb..#t1') is null begin

    select 1 c1 into #t1;

    select * from #t1;

    drop table #t1;
end

--second szenario: insert
if object_id ('tempdb..#t2') is null begin

    create table #t2 (c1 int);

    insert #t2 select 2;

    select * from #t2;

    drop table #t2;
end

0 个答案:

没有答案