删除临时表(如果它存在于SQL Azure上)

时间:2015-05-29 14:07:20

标签: sql sql-server azure temp-tables

是否有更好的方法可以在 Azure SQL 上删除临时表?

BEGIN TRY
    DROP TABLE #customMap
END TRY
BEGIN CATCH
END CATCH

也许没有必要在Azure SQL上删除临时表,因为在会话结束时删除了表。

if (OBJECT_ID('#candidates')) is not null
begin
    drop table #candidates;
end;

或者

if (OBJECT_ID('tempdb..#candidates')) is not null
begin
    drop table #candidates;
end;

不起作用。

2 个答案:

答案 0 :(得分:4)

在Azure SQL数据库中,您可以使用DROP IF EXISTS(DIE)语法:

create table #temp (id int)

drop table if exists #temp

答案 1 :(得分:0)

IF OBJECT_ID('tempDB..#myTempName','U') IS NOT NULL
   drop table #myTempName 

临时表是在tempDB中创建的,而不是您当前用作默认数据库的数据库。