0

谁能告诉我如何在 SQL Server 中查看约束的来源?

我有一个带有检查约束的表,当我执行插入时,我违反了约束。我想知道约束是什么,所以我可以避免这种情况,但只能得到约束的名称。

我在 sys.objects 中查找过它,但这并没有包含任何用处。

谢谢

4

2 回答 2

2

sys.check_constraints当您拥有它的名称时,您可以在更集中、更合适的系统目录视图(sys.objects仅包含非常少的信息)中查看约束详细信息:

SELECT *
FROM sys.check_constraints
WHERE Name = 'your-name-here' 

您最感兴趣的列将是definition定义该约束作用的列,例如可接受的值范围或列表

于 2013-07-16T05:29:36.780 回答
2

试试这个——

SELECT 
       cc.name
     , cc.[definition]
FROM sys.check_constraints cc
WHERE cc.parent_object_id = OBJECT_ID('dbo.your_table')
于 2013-07-16T05:31:30.153 回答