JSON_MERGEPATCH
目的
JSON_MERGEPATCH
ファンクションを使用して、JSONドキュメントの特定の部分を更新できます。JSONマージ・パッチ・ドキュメントをJSON_patch_expr
で渡します。このドキュメントでは、指定したJSONドキュメント(JSON_target_expr
)に行う変更を指定します。
JSON_MERGEPATCH
は、ターゲット・ドキュメントと照らしてパッチ・ドキュメントを評価し、その結果をドキュメントとして生成します。ターゲットまたはパッチ・ドキュメントがNULLの場合、結果もNULLです。
JSONデータをサポートする任意のSQLデータ型(JSON
、VARCHAR2
、CLOB
またはBLOB
)を入力できます。このファンクションは、出力として任意のSQLデータ型を戻します。
データ型JSON
は、データベース初期化パラメータcompatibleが20
以上の場合にのみ使用できます。
デフォルトの戻り型は、入力データ型によって異なります。入力型がJSON
の場合、デフォルトの戻り型もJSON
です。それ以外の場合は、VARCHAR2
がデフォルトの戻り型です。
JSON_returning_clause
では、演算子の戻り型を指定します。デフォルトの戻り型はVARCHAR2(4000)
です。
PRETTY
キーワードは、結果を人が読める形式にするよう指定します。
ASCII
キーワードは、非ASCII文字を、JSONのエスケープ・シーケンスで出力することを指定します。
TRUNCATE
キーワードは、最終的なドキュメントを特定の戻り型に適するように切り捨てるよう指定します。
JSON_on_error_clause
(オプション)は、ターゲットおよびパッチ・ドキュメントの処理中に発生するエラーの扱い方を制御します。
NULL ON ERROR
- エラーが発生した場合にnullを戻します。これはデフォルトです。ERROR ON ERROR
- エラーが発生した場合に適切なOracleエラーを戻します。