我有以下更新查詢來設置一些值並控制數據流。但是當我執行波紋管查詢時,出現了來自condtion(子查詢)的錯誤「太多值」。更新多行查詢問題
UPDATE MTB ----- TABLE NAME
SET MTB_EXTR_FLAG='N',
MTB_ALOC_PROCESS='DC1'
WHERE MTB_I IN --- PRIMARY KEY
(
SELECT * FROM
(
SELECT MTB_I ,ROW_NUMBER() OVER (ORDER BY ROWID) AS RN
FROM MTB
)
WHERE RN BETWEEN 100 AND 500
)
在這裏,我的意圖是選擇每個工作的處理不同的設置數據。 我想在每次使用不同數據集運行作業之前設置MTB_EXTR_FLAG ='N',MTB_ALOC_PROCESS ='DC1'。
有人可以幫助我解決錯誤問題或提出不同的查詢。
謝謝。
我無法通過rowid進行排序 - 當您在表上執行不同的操作時,rowid可能會更改。如果不通過rowid,你如何排列你的數據?我猜你想在創建該行時排名。你在表格中有一個update_date列嗎? – haki