在Oracle数据库中使用IGNORE_DUP_KEY(sqlplus)

前端之家收集整理的这篇文章主要介绍了在Oracle数据库中使用IGNORE_DUP_KEY(sqlplus)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图在不到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不支持.你有替代方案吗?

解决方法

另一个没有EXISIS!

UPDATE table1 t1
   SET EMAILADRESSE = replace(EMAILADRESSE,'@domain2.no')
 WHERE EMAILADRESSE LIKE '%@domain1.no' 
 AND NOT EXISTS
 (SELECT 'X' FROM table1 t2 WHERE t2.EMAILADRESSE = replace(t1.EMAILADRESSE,'@domain2.no'));

猜你在找的Oracle相关文章