執行批量插入語句報ORA 00001

2021-08-08 17:15:37 字數 668 閱讀 5981

記錄在開發過程中遇到的一次ora-00001(違反唯一性約束)

下面是批量插入語句,執行時會報 ora-00001

原因:在批量插入資料時

1、有重複的資料同時插入

2、插入的資料在資料庫表中已經存在

insert into  #[use_database_name]tab_b(

bill_code

)select a.*

from(

select

# bill_code

from dual

)a

解決第一種情況(有重複的資料同時插入):

在插入語句中增加distinct函式去重

insert into  #[use_database_name]tab_b(

bill_code

)select distinct a.*

from(

select

# bill_code

from dual

)a

解決第二種情況(插入的資料在資料庫表中已經存在):

在執行插入語句之前先查一遍資料庫表,將查到的資料與插入的資料做對比,如果有重複的資料 ,則將重複的資料從插入資料中剔除後再執行插入

Oracle批量插入語句

insert all into test 12 id,name values id,name select id,name from process steps where name in pack功能測試 72hours pack功能測試 144hours pack功能測試 216hours pa...

python 執行插入語句

匯入sqlite驅動 import sqlite3 連線到sqlite資料庫 資料庫檔案是test.db 如果檔案不存在,會自動在當前目錄建立 conn sqlite3.connect test.db 建立乙個cursor cursor conn.cursor 執行一條sql語句,建立user表 c...

Mybatis執行插入語句,未使用定義的預設值

背景 系統中的某個實體表字段值為null時,其實表示的是無限大,但是當對其進行數量過濾時,又被過濾掉了,所以想給字段乙個很大的預設值來解決這個問題。解決方法update tb discount set discount count 100000 where discount count is nul...