介紹
過去我們在撰寫 SP 的過程時,通常都會加上物件判斷 (是否存在) 後再 drop 該物件,避免物件不存在情況而造成錯誤。過去要刪除某個資料表時,我們會這樣寫:IF OBJECT_ID('dbo.Activity','U') IS NOT NULL DROP TABLE dbo.Activity
OBJECT_ID 的第二個參數是 xtype,我們通常會加上 xtype 較為嚴謹
在 SQL Server 2016 後的版本,你可以透過下列語法進行:
DROP TABLE IF EXISTS dbo.Inventory
另一個例子,我們要刪除一個 trigger (觸發器),可能會這樣寫:
IF EXISTS (SELECT * FROM sys.triggers WHERE name = 'JobTrigger') DROP TRIGGER JobTrigger在 SQL Server 2016 後的版本,你可以透過下列語法進行:
DROP TRIGGER IF EXISTS JobTrigger
DROP IF EXISTS 能操作的物件如下表:
0 留言