sql 创建用于查找外键约束的脚本,并通过删除和创建外部约束来重建它们。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 创建用于查找外键约束的脚本,并通过删除和创建外部约束来重建它们。相关的知识,希望对你有一定的参考价值。
DECLARE @tableName NVARCHAR(500)
SET @tableName='_Neighborhood'
SELECT
fk.name,
object_name(fk.parent_object_id) 'Parent table',
c1.name 'Parent column',
object_name(fk.referenced_object_id) 'Referenced table',
c2.name 'Referenced column',
'ALTER TABLE dbo.' + object_name(fk.parent_object_id) +
' DROP CONSTRAINT [' + fk.name+']',
'ALTER TABLE dbo.' + object_name(fk.parent_object_id) +
' ADD CONSTRAINT [' + fk.name +
'] FOREIGN KEY(' + c1.name + ') REFERENCES dbo.' +
object_name(fk.referenced_object_id) + '(' + c2.name + ')'
from
sys.foreign_keys fk
inner join
sys.foreign_key_columns fkc ON fk.object_id = fkc.constraint_object_id
inner join
sys.columns c1 ON fkc.parent_column_id = c1.column_id and c1.object_id = fkc.parent_object_id
inner join
sys.columns c2 ON fkc.referenced_column_id = c2.column_id and c2.object_id = fkc.referenced_object_id
WHERE object_name(fk.referenced_object_id)=@tableName
以上是关于sql 创建用于查找外键约束的脚本,并通过删除和创建外部约束来重建它们。的主要内容,如果未能解决你的问题,请参考以下文章