工作中遇到一次批量插入數據拋出異常的情況:
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: 指定的索引不存在 --代表唯一索引已經刪除。