1
進行更新我有要求在對pl/sql進行排序後更新數據集。這是動態SQL。Oracle如何使用ORDER BY
v_dyn_sql:= 'UPDATE '||v_in_schema||'.'||v_in_skinny_table||'
SET BATCH=CEIL(ROWNUM/'||v_in_source_batch_size||')
WHERE
RECORD_STATUS IN '||v_in_mode||'
AND
LEGACY_SYSTEM_ID__C in (SELECT LEGACY_SYSTEM_ID__C
FROM '||v_in_schema||'.'||v_in_wide_table||'
ORDER BY '||v_in_sort_criteria)
*** ID不是唯一的,所以MERGE
聲明不適用於我。
所以這應該對數據集進行排序,然後用1更新第一個v_in_source_batch_size
行,第二個v_in_source_batch_size
行等等。
我該如何達到這個結果?唯一的方法是使用遊標嗎?如果是這樣,我怎樣才能使光標動態?
你可以遍歷這是一個遊標在PLSQL中,並一次發佈一個更新。 – Randy
如何爲這種情況動態創建遊標? – user3224907