我在寫一個用於刪除列和默認約束的sql腳本。下面的腳本工作正常,但我想知道這是否是正確的方式。在SQL Server中刪除一個具有默認約束的列(IF EXISTS)
我可以在一個語句中刪除一個列的默認約束,而不是使用兩個單獨的列嗎?
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[DF_Employees_EmpID]') AND type = 'D')
BEGIN
ALTER TABLE [dbo].[Employees] DROP CONSTRAINT [DF_Employees_EmpID]
END
GO
BEGIN
ALTER TABLE [dbo].[Employees] DROP COLUMN [EmpID]
END
我想你必須單獨做他們 - 和你做,如果** **你需要的條件檢查。如果約束肯定存在,那麼它可以作爲一個單獨的「ALTER TABLE」來完成。 –
我做的方式是對的? – user1263981
是的,如果你需要條件檢查,沒有真正的方法來縮短這段代碼。 –