B Oracle Database JSON機能の仕様

この付録では、Oracle DatabaseにおけるJSONデータのOracleサポートの機能について説明します。

特に指定がないかぎり、仕様が順守されない場合はエラーが発生します。

  • 一般:

    • JSONオブジェクトまたは配列のネスト・レベルの数: 1000。

    • JSONフィールド名の長さ: それぞれ65535バイト。

  • SQL/JSONパス式:

    • SQL/JSONパス式での文字列の各使用ごと: 32Kバイト、文字列がリテラルであるか$aなどのSQL/JSON変数によって提供されるかには関係ありません。(32KバイトはSQL VARCHAR2値の最大長です。)

    • パス式textの合計長: 32Kバイト。(json_existsなどのSQL演算子に文字列として渡されます。)

      パス式の有効な長さは基本的に無制限です。これは、式が文字列値にバインドされたSQL/JSON変数(それぞれ32Kバイトに制限される)を使用できるためです。

    SQL/JSONパス式の概要も参照してください。

  • ドット表記パスのコンポーネント長: 128バイト。(これはSQL識別子の最大長です。)

    関連項目:

  • JSONデータ・ガイド:

    ノート:

    • パスの長さ: 4000バイト。4000バイトよりも長いパスは、データ・ガイドで無視されます。

    • 親ノードの下の子の数: 5000。子が5000を超えるノードは、データ・ガイドで無視されます。

    • フィールド値の長さ: 32767バイト32767バイトよりも長い値がJSONフィールドに含まれる場合、データ・ガイドはその長さを32767として報告します。

    • 長さがゼロ(空)のオブジェクト・フィールド名("")を含むデータのデータ・ガイドの動作は定義されていません。

    JSONデータ・ガイドの詳細は、JSONデータ・ガイドの概要を参照してください。

  • OSONとJSONデータ型:

    OSONは、Oracle DatabaseサーバーとOracle Databaseクライアントの両方での問合せおよび更新用に最適化されたOracleのバイナリJSON形式です。JSONデータ型のインスタンスは、OSON形式を使用して格納されます。

    • JSON型インスタンスの合計サイズ: 32Mバイト。

      JSONデータのJSON型としての格納の詳細は、JSONデータのデータ型を参照してください