JSON_MERGEPATCH

JSON_returning_clause::=



json_on_error_clause::=



目的

JSON_MERGEPATCHファンクションを使用して、JSONドキュメントの特定の部分を更新できます。JSONマージ・パッチ・ドキュメントをJSON_patch_exprで渡します。このドキュメントでは、指定したJSONドキュメント(JSON_target_expr)に行う変更を指定します。

JSON_MERGEPATCHは、ターゲット・ドキュメントと照らしてパッチ・ドキュメントを評価し、その結果をドキュメントとして生成します。ターゲットまたはパッチ・ドキュメントがNULLの場合、結果もNULLです。

JSONデータをサポートする任意のSQLデータ型(JSONVARCHAR2CLOBまたは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エラーを戻します。