【发布时间】:2009-06-24 21:34:37
【问题描述】:
我需要在我们的一个数据库表中创建一个唯一的列,并且我们希望从表中完全删除所有重复项。但是有一个障碍,因为对其他表的大量依赖项会受到影响。
例如,假设我们有以下关系:
------------------- -------------------
* Customer * * Order *
------------------- -------------------
* ID * * ID *
* Name * * CustomerID *
* Address * * Item *
------------------- -------------------
那里的关系相当明显——订单需要一个 CustomerID,这是一个外键。所以我们不能删除客户并保留订单数据。
在示例中,我完全可以丢失多余的客户数据,但为了以后参考,我想将 CustomerID 从 Order 更改为“Deleted Customer”行的客户 ID。
有没有办法说“删除这个,如果有外键约束,把 CustomerID 改成那个 ID”?数据库是 MS SQL 2005。
【问题讨论】:
标签: sql-server database tsql