SELECT+UPDATE
可能であれば、次の PL/SQL ステートメントを単一の SQL ステートメントに最適化したいと考えています。
--Key is a VARCHAR2, Value is a CLOB
FOR Pair IN (select Key, Value from PairTable)
LOOP
update UpdatableTable
set CLOBColumn = CLOBColumn || Pair.Value
where ID in
(select ID from UpdatableTable
where CONTAINS("indexedcolumns", '{' || Pair.Key || '}') > 0);
commit;
END LOOP;
問題は、同じ's句でUPDATE
's句の結果の一部を使用する必要があることです。概念的には、最初に. 次に、文字列を使用して、に含まれているかどうかを確認します。次に、文字列 (前述の文字列に対応する) を に設定します。WHERE
UPDATE
SET
SELECT
PairTable
Key
UpdatableTable
Value
Key
UpdatableTable
CLOBColumn