我正在使用sql server 2008.我需要找到如果默認值約束不存在然後創建它。這是我嘗試過的。如何檢查IF默認值約束是否存在?
IF (NOT EXISTS(SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS WHERE CONSTRAINT_NAME ='MyConstraint'))
BEGIN
ALTER TABLE [XX] ADD CONSTRAINT [MyConstraint] DEFAULT ((-1)) FOR [XXXX]
END
GO
與SQL Server 2005,建議使用來自'sys'架構目錄視圖 - 'sys.columns', 'sys.tables' - 而不是'sysobjects'等。這些將從未來版本的SQL Server中刪除 –
@marc_s我已經更改了代碼,但是'sysobjects'等兼容性視圖將會出現**長**時間尚未到來,至少要經過SQL Server的下一個版本。 _ **下一個**版本的SQL Server支持以下SQL Server數據庫引擎功能,但將在更高版本中刪除。 SQL Server的特定版本尚未確定。[鏈接](http://msdn.microsoft.com/zh-cn/library/ms143729.aspx) – RichardTheKiwi
@RichardTheKiwi - 您的鏈接確實包含第三句「已棄用功能不應該用於新的應用程序。「 –