要求能判断临时表是否存在

解决方案 »

  1.   

    -- =============================================
    -- Create table basic template
    -- =============================================
    IF EXISTS(SELECT name 
      FROM   sysobjects 
      WHERE  name = N'<table_name, sysname, test_table>' 
      AND   type = 'U')
        DROP TABLE <table_name, sysname, test_table>
    GOCREATE TABLE <table_name, sysname, test_table> (
    <column_1, sysname, c1> <datatype_for_column_1, , int> NULL, 
    <column_2, sysname, c2> <datatype_for_column_2, , int> NOT NULL)
    GO
      

  2.   

    sysobjects 里找不到临时表啊临时表
    CREATE TABLE (#TableName or ##TableName) (
    <column_1, sysname, c1> <datatype_for_column_1, , int> NULL, 
    <column_2, sysname, c2> <datatype_for_column_2, , int> NOT NULL)
      

  3.   

    If Object_id('tempdb.dbo.#Compat') Is Not Null Drop Table #Compat
    Create Table #Compat (dbname sysname, dbsize nvarchar(13) null, owner sysname, dbid smallint, created nvarchar(11), dbdesc nvarchar(600) null, cmptlevel tinyint)
    Insert #Compat
    Exec sp_helpdb 
    Set @ActualCmptLevel = (Select cmptlevel From #compat Where dbname = @dbname)
    If @ActualCmptLevel Is Not Null And @ActualCmptLevel <> 80
    Insert @Options values(@dbname,'CmptLevel', '80', @ActualCmptLevel)第一行是正解 又涨知识了 :)
      

  4.   

    楼上的方法都不错,但是搂主一定要判断是否 存在吗?(不知道楼主用这个临时表是来干什么的)也可以try 删除表,再creat一个。不过好像了;楼上的方法比较快点吧。
      

  5.   

    这个临时表只是用来做排序的 用完之后自动删掉比较方便关于他的用途可以看我另外一个求助帖就明白了
    http://community.csdn.net/Expert/topic/3097/3097330.xml?temp=.2570154