Oracle 数据去重问题 Insert into select Distinct

Oracle 数据去重问题 Insert into select Distinct问题描述:将数据从中间表往业务表插入时,提示唯一键重复##1 Insertintotable1(code)(selectdistinctcodefromtable2)上面的数据执行提示错误,我们选中后半部分查询,发现数据正常,code是唯一的1 Createtabletable3asselectdistinctcodefromtable2;2 Insert…

Oracle

问题描述:将数据从中间表往业务表插入时,提示唯一键重复

1	Insert into table1 (code)(select distinct code from table2)

上面的数据执行提示错误,我们选中后半部分查询,发现数据正常,code是唯一的

1	Create table table3 as select distinct code from table2;
2	Insert into table1(code)(select code from table3)

这种方式能正常执行

1 	Insert into table1 (code) (select code from table3 group by code)

这种方式也能正常执行,继续测试下面的语句也能正常执行

1 	Insert into table1 (code)(select * from (select distinct code from table2))

切换数据版本测试发现第一条语句也能正常执行。
结论: oracle 10.2.0.1.0版本无法识别的这种写法导致distinct失效
解决办法: 在select的外面再套上一层查询即可

今天的文章Oracle 数据去重问题 Insert into select Distinct分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

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

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注