0
こんにちは、Oracle 12cではサポートされていないため、いくつかの更新文からbypass_ujvcヒントを取り除くことを任されました。マージステートメントでは不都合なことに、これらの更新ステートメントの1つに返す節とバルクコレクトがあるため、マージステートメントが返される節を使用しないため、これにどのようにアプローチするのかは分かりません。どんなアドバイスも大歓迎です。クエリは以下のとおりです。12cでバイナリを変換する際のbypass_ujvcヒントをマージ文に変換する
UPDATE /*+ bypass_ujvc */ (SELECT caco.surr_id,
caco.lead_item_yn,
caco.case_reference,
caco.logically_deleted_y
FROM TABLE (CAST(l_cc_surr_id AS db_surr_id_type_tab)) cc
JOIN case_contexts caco ON (caco.cc_surr_id = cc.COLUMN_VALUE)
JOIN cases cas ON (cas.REFERENCE = caco.case_reference)
WHERE caco.logically_deleted_y IS NULL
AND cas.status IN ('INP', 'TOS'))
SET logically_deleted_y = 'Y'
RETURNING surr_id, lead_item_yn, case_reference
BULK COLLECT INTO l_caco_surr_id, l_lead_item, l_all_cases;
あなたは 'forall'アプローチを見ることができます。後で時間がかかるなら、私は例をまとめます。 –
ウィリアムさん、ありがとうございました –