我正在使用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 - 您的链接确实包含第三句“已弃用功能不应该用于新的应用程序。“ –