Sql Server 判斷表是否存在方法


  在創建表之前,通常需要先判斷該表是否已經存在,如果存在則不需要創建;有時候刪除表之前也需要先行判斷是否存在,否則會報錯。

  判斷方法大致有以下兩種:

  方法一:  

if Exists(select top 1 1 from sysObjects where Id=OBJECT_ID(N'LE_User') and xtype='U')
       print '存在'
else 
    print '不存在'

  方法二:

if OBJECT_ID(N'LE_User',N'U') is not null
    print '存在'
else 
    print '不存在'

  其中兩種方法都使用到了sysObjects這張系統表,該表保存了所有對象信息,既然是所有對象,自然包括表的信息,其中xtype為U表示為用戶表。

 

  判斷臨時表是否存在方法如下:  

if OBJECT_ID(N'tempdb..#TempTable',N'U') is not null
    print '存在'
else 
    print '不存在'

if exists (select * from tempdb.dbo.sysobjects where id = object_id(N'tempdb..#TempTable') and type='U')
   print '存在' 
else
   print '不存在'

  臨時表本身也是一張表,所以判斷存在的方法和普通表相同,只不過需要增加tempdb..指明為臨時表。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM