微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在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'));

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐