【发布时间】:2014-01-15 18:17:24
【问题描述】:
我试图在少于 10000 行上运行以下代码,但我得到了
ORA-00001:违反了唯一约束 (constraint_name)(并非意外)。
UPDATE table1
SET EMAILADRESSE = replace(EMAILADRESSE,'@domain1.no','@domain2.no')
WHERE EMAILADRESSE LIKE '%@domain1.no' ;
尝试过IGNORE_DUP_KEY,但据我的研究显示,oracle/SQL*PLUS 不支持此功能。你有其他选择吗?
【问题讨论】:
-
没有像
IGNORE_DUP_KEY这样的提示——你的意思是IGNORE_ROW_ON_DUPKEY_INDEX吗? -
禁用约束并尝试更新
-
你是对的:IGNORE_ROW_ON_DUPKEY_INDEX。我不允许禁用约束,我不想:) 我只想更新尽可能多的行并手动修复其余行。