谁能告诉我如何在 SQL Server 中查看约束的来源?
我有一个带有检查约束的表,当我执行插入时,我违反了约束。我想知道约束是什么,所以我可以避免这种情况,但只能得到约束的名称。
我在 sys.objects 中查找过它,但这并没有包含任何用处。
谢谢
谁能告诉我如何在 SQL Server 中查看约束的来源?
我有一个带有检查约束的表,当我执行插入时,我违反了约束。我想知道约束是什么,所以我可以避免这种情况,但只能得到约束的名称。
我在 sys.objects 中查找过它,但这并没有包含任何用处。
谢谢
sys.check_constraints
当您拥有它的名称时,您可以在更集中、更合适的系统目录视图(sys.objects
仅包含非常少的信息)中查看约束详细信息:
SELECT *
FROM sys.check_constraints
WHERE Name = 'your-name-here'
您最感兴趣的列将是definition
定义该约束作用的列,例如可接受的值范围或列表
试试这个——
SELECT
cc.name
, cc.[definition]
FROM sys.check_constraints cc
WHERE cc.parent_object_id = OBJECT_ID('dbo.your_table')