在oracle中更新主键

时间:2010-12-17 10:16:28

标签: oracle primary-key

我有桌子。在3列中有5列的主列组合。

表(可乐,colb,colc,cold,cole)

我想更新主键组中的一列。怎么做?

它给出主键约束错误。

3 个答案:

答案 0 :(得分:2)

您应该禁用进行修改并重新启用链接到主键的约束。 (唯一,非空等......)

看看这个website

答案 1 :(得分:2)

如果确实需要保持这三列的唯一性,那么在构成当前PK的三列上定义一个唯一约束,然后定义一个新的代理主键列。

答案 2 :(得分:0)

以防您必须更改参考数据。 首先注意与MS-SQL-Server相反,在更新级联上没有外键关键约,请参阅How to create a Foreign Key with “ON UPDATE CASCADE” on Oracle?

我会在主表中插入一个新行,更新引用表以引用新行,最后删除原始主行。