在 Oracle 中使用 MERGE 或是 JOIN 時有可能出現以下錯誤訊息:
很可能是因為有多筆資料完全一樣,只要將 USING 後的查詢語法加上 DISTINCT 將結果去重複即可
參考資料:
Oracle - How to Troubleshoot ORA-30926 Errors? (Doc ID 471956.1)
ORA-30926: unable to get a stable set of rows in the source tables
很可能是因為有多筆資料完全一樣,只要將 USING 後的查詢語法加上 DISTINCT 將結果去重複即可
MERGE INTO table_1 t
USING
(SELECT distinct table_2.column_2
, table_2.column_3
, table_3.column_4
FROM table_2,
table_3
WHERE table_2.column_3 = table_3.column_3) t1
ON (t.column_1 = t1.column_1)
WHEN MATCHED THEN
UPDATE
SET column_2 = t1.column_2;
參考資料:
Oracle - How to Troubleshoot ORA-30926 Errors? (Doc ID 471956.1)
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com