我正在尝试在少于 10000 行的行上运行以下代码,但我得到了
ORA-00001: unique constraint (constraint_name) violated (not unexpected).
UPDATE table1
SET EMAILADRESSE = replace(EMAILADRESSE,'@domain1.no','@domain2.no')
WHERE EMAILADRESSE LIKE '%@domain1.no' ;
试过
IGNORE_DUP_KEY
,但据我的研究表明,这在 oracle/SQL*PLUS 中不受支持。你对我有什么选择吗?
最佳答案
另一个与 NOT EXISTS
!
UPDATE table1 t1
SET EMAILADRESSE = replace(EMAILADRESSE,'@domain1.no','@domain2.no')
WHERE EMAILADRESSE LIKE '%@domain1.no'
AND NOT EXISTS
(SELECT 'X' FROM table1 t2 WHERE t2.EMAILADRESSE = replace(t1.EMAILADRESSE,'@domain1.no','@domain2.no'));
关于sql - Oracle 数据库中 IGNORE_DUP_KEY 的使用(sqlplus),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21132885/