有时,由于对表进行重命名,可能会发生插入错误。 任何人都可以共享表重命名之前或之后应该执行的任何过程。
示例:
INSERT语句与FOREIGN KEY约束冲突 “ ForignKeyName”。在数据库“ DB”的表中发生了冲突 “ TABLE”,“ COLUMN”列。
答案 0 :(得分:1)
找到所有外键并更改约束。为此,所有引用的表都应该知道。
以下查询列出了引用重命名表的所有约束。 请更改相应表中的约束。
SELECT
f.name constraint_name
,OBJECT_NAME(f.parent_object_id) referencing_table_name
,COL_NAME(fc.parent_object_id
,fc.parent_column_id) referencing_column_name
,OBJECT_NAME (f.referenced_object_id) referenced_table_name
,COL_NAME(fc.referenced_object_id
,fc.referenced_column_id) referenced_column_name
,delete_referential_action_desc
,update_referential_action_desc
FROM sys.foreign_keys AS f
INNER JOIN sys.foreign_key_columns AS fc
ON f.object_id = fc.constraint_object_id
where
OBJECT_NAME (f.referenced_object_id) ='RENAMEING_TABLE_NAME' -- deleting/ renaming table
ORDER BY f.name