oracle數據庫出現“批處理中出現錯誤: ORA-00001: 違反唯一約束條件”解決方法


工作中遇到一次批量插入數據拋出異常的情況:

1 insert into my_flosta_all_571(P_DAY,CITY,BUILDINGID,BUILDINGNAME,HASINDOOR)
2 select to_date('20180103','yyyyMMdd') as P_DAY,CITY,BUILDINGID,BUILDINGNAME,HASINDOOR
3 from my_flosta_all_571 where p_day=to_date('20171231','yyyyMMdd');
4 ORA-00001: 違反唯一約束條件 (MY_ONLINE_APPUSER.PK_MY_FLOSTA_ALL_571_OID)

解決方案:刪除自增屬性,並修改sql把oid包含在查詢與插入列中

--刪除表自增屬性
SQL> alter table my_flosta_all_571 modify OID drop identity;
Table altered

SQL> drop index PK_MY_FLOSTA_ALL_571_OID;
drop index PK_MY_FLOSTA_ALL_571_OID
ORA-02429: 無法刪除用於強制唯一/主鍵的索引

SQL> alter table zj2_flosta_all_571 drop primary key ;
Table altered

SQL> drop index PK_MY_FLOSTA_ALL_571_OID;
drop index PK_MY_FLOSTA_ALL_571_OID
ORA-01418: 指定的索引不存在
--代表唯一索引已經刪除。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM