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 创建用于查找外键约束的脚本,并通过删除和创建外部约束来重建它们。的主要内容,如果未能解决你的问题,请参考以下文章
sql 删除带外键约束的表的语句是啥
用SQL语句创建一个临时表,建立主键约束,并验证主键约束是不是可以被修改。
高级c#中三层架构中存在外键约束怎么删除
sql server怎样删除外键约束?
SQL表与表之间建立外键约束之后,怎么建立连级更新和删除?
MySQL外键约束,级联删除