【发布时间】:2011-12-12 21:50:27
【问题描述】:
我有一个相当有趣的任务摆在我面前,我想确保我的想法是正确的 -
我有一个表Part,它的part_id 被用作其他几个表(A、B、C)的候选键的一部分。我需要删除Part 并改用Product。 A、B、C 需要将其 part_id 列(类型为 bigint)替换为新的 product_id 列(数据类型为 int)。我需要使用表格的part_id 列来确定每行需要使用什么product_id。
这是我认为我需要做的(想法?):
- 在每个表中创建
product_id列(A、B、C) - 将每个表的每一行的
product_id设置为适当的值 - 删除我对
A、B、C中的part_id列的任何约束/fk/pk - 从这些表中完全删除
part_id - 重新创建我之前删除的约束/fk/pk,只有
product_id成为其中的一部分 - 完全删除
Part表
谁能看到我可能忽略的任何潜在问题?
谢谢!
附加信息:表 A、B 和 C 都有很多数据,所以如果有更高效的方法,我会全力以赴。
【问题讨论】:
标签: sql-server-2005 tsql foreign-keys database-schema alter-table