我需要找出特定约束属于哪个表(名称)。
有没有人有任何TSQL来实现这一目标?
许多事情可以被认为是一个约束:
首要的关键 外键 独特的指数 检查约束 列默认
你的问题有点模糊。你知道约束的名称,类型等吗?
基于您问题中的有限信息。我建议您查看master.sys.sp_helpconstraint存储过程的源代码。
在Sql Server Management Studio中,使用对象资源管理器,导航到:“数据库” - “系统数据库” - “主” - “可编程性” - “存储过程” - “系统存储过程” - “sys.sp_helpconstraint”。它包含了查询所有各种约束的所有tsql。
这将找不到sys.indexes中的索引
SELECT
OBJECT_NAME(o.parent_object_id)
FROM
sys.objects o
WHERE
o.name = 'MyConstraintName' AND o.parent_object_id <> 0
gbn,你的解决方案似乎不起作用?
SELECT
OBJECT_NAME(o.parent_object_id)
FROM
sys.objects o
WHERE
o.name = 'MyConstraintName' AND o.parent_object_id <> 0
因此,如果'MyConstraintName'变为'FK_myConstraint',则查询变为
SELECT OBJECT_NAME(o.parent_object_id)
FROM sys.objects o
WHERE o.name = 'MyConstraintName'
AND o.parent_object_id <> 0
哪个没有结果
(No column name)
它认为你的“解决方案”必须基于关于模式的大量未说明的假设。