检查临时表是否存在的方法

Mou*_*diz 3 sybase sybase-ase

我有以下查询:

IF NOT EXISTS (SELECT 1
               FROM   sysobjects
               WHERE  id = Object_id('tempdb..TEMP_THETH_DETAILS'))
  EXECUTE (
'CREATE TABLE tempdb..TEMP_THETH_DETAILS( THETH_ID NUMERIC(5) NOT NULL, LANGUAGE VARCHAR(3) DEFAULT ''EN'' NOT NULL)'
)

GO 
Run Code Online (Sandbox Code Playgroud)

问题是检查,似乎tempdb没有考虑,如果不存在,可能因为表是在tempdb中创建的.
所以我的问题是我可以检查临时表是否存在?

Rob*_*ert 8

试试这个:

IF object_id('tempdb..TEMP_THETH_DETAILS') is null
begin
   EXECUTE 
   (
       'CREATE TABLE tempdb..TEMP_THETH_DETAILS
        ( THETH_ID NUMERIC(5) NOT NULL, 
          LANGUAGE VARCHAR(3) DEFAULT ''EN'' NOT NULL
        )'
    )
end
go
Run Code Online (Sandbox Code Playgroud)