判斷資料中對象是否存在

來源:互聯網
上載者:User

標籤:資料庫

                                        (理論)【sys.databases】它是SQL Server中的一個視圖,它的位置參看圖中所示。MicrosoftSQL Server執行個體中每個資料庫都對應其中的一行。具體該視圖中每個欄位的含義,參看MSDN:https://msdn.microsoft.com/zh-cn/library/ms178534.aspx
【sysobjects】它也是SQL Server中的一個視圖,它的位置在每個使用者建立的庫裡面的系統檢視表中,如所示。這個視圖中每個欄位的含義請參考MSDN:https://msdn.microsoft.com/zh-cn/library/ms177596.aspx。它主要儲存當前資料庫的對象,如約束、預設值、日誌、規則、預存程序等。
                                        (經驗)下面介紹幾個常用的判斷資料庫中是否存在某個對象的SQL語句。1、資料庫    if exists (select * from sys.databases where name = ’資料庫名’)  
2、資料表    if exists (select * from sysobjects where id = object_id(N’[表名]’) and OBJECTPROPERTY(id, N’IsUserTable’) = 1)  
3、預存程序    if exists (select * from sysobjects where id = object_id(N’[預存程序名]’) and OBJECTPROPERTY(id, N’IsProcedure’) = 1)  
4、視圖    IF EXISTS (SELECT * FROM sys.views WHERE object_id = ’[dbo].[視圖名]’
5、函數     if exists (select * from dbo.sysobjects where id = object_id(N’[dbo].[函數名]’) and xtype in (N’FN’, N’IF’, N’TF’))    


判斷資料中對象是否存在

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.