为什么即使检查表存在条件后全局临时表也不会被丢弃

时间:2018-04-12 10:44:38

标签: sql-server sql-server-2008 sql-server-2012

我正在运行一个sql server脚本,我正在检查它是否存在全局临时表,然后删除它。但是我观察到即使在表存在之后也有很多时间,编译器永远不会进入drop table范围。

IF OBJECT_ID('tempdb..##TuidSubgroupAuthrealm') IS NOT NULL
BEGIN
    DROP TABLE ##TuidSubgroupAuthrealm
END

CREATE TABLE ##TuidSubgroupAuthrealm
( 
    TUID INT NOT NULL, 
    TravelProductId INT NOT NULL, 
    AuthRealmId INT NOT NULL
    PRIMARY KEY (TUID, TravelProductId)
)

select * from ##TuidSubgroupAuthrealm查询时,我得到了表格,但脚本在create table中断了。有什么理由以及如何解决它?

1 个答案:

答案 0 :(得分:0)

您应该以不同批次分隔DROPCREATE语句。 如果您正在使用SSMS,请尝试在它们之间放置GO分隔符。