預存程序批次 INSERT 200 筆,第 90 筆報 ORA-00001,但來源查詢無重複。
來源 200 筆與 目標表 EOVHR 既有資料 存在主鍵/唯一索引衝突。
SELECT st.*
FROM source_table st
INNER JOIN eovhr e
ON st.pk_col = e.pk_col; -- 依實際主鍵欄位調整
若有回傳行,即為衝突資料。
MERGE INTO eovhr t
USING (SELECT * FROM source_table) s
ON (t.pk_col = s.pk_col)
WHEN NOT MATCHED THEN INSERT (...) VALUES (...)
WHEN MATCHED THEN UPDATE SET ...; -- 或忽略
INSERT INTO eovhr (...)
SELECT ... FROM source_table s
WHERE NOT EXISTS (SELECT 1 FROM eovhr t WHERE t.pk_col = s.pk_col);
BEGIN
INSERT INTO eovhr ...;
EXCEPTION WHEN DUP_VAL_ON_INDEX THEN NULL; -- 記錄日誌
END;