25 SQLを使用したJSONデータの生成
SQLを使用すると、データベース内のJSON以外のデータからJSONオブジェクトおよび配列を生成できます。これを行うには、コンストラクタJSON
またはSQL/JSONファンクションjson_object
、json_array
、json_objectagg
およびjson_arrayagg
を使用します。
ノート:
リレーショナル・データからJSONデータを明示的に生成するだけでなく、リレーショナル表のデータからJSON文書を自動的に生成するJSONリレーショナル二面性ビューを定義できます。二面性ビューによってサポートされている(生成された)文書を更新すると、基礎となるリレーショナル・データが自動的に更新されます。同様に、基礎となる表のデータを更新すると、ビューでサポートされている文書が自動的に更新されます。『JSONリレーショナル二面性開発者ガイド』の「JSONリレーショナル二面性ビューの概要」を参照してください。
- JSON生成の概要
JSONデータの生成の概要について説明します(ベスト・プラクティス、SQL/JSON生成関数、単純なJSON
コンストラクタ構文、入力SQL値の処理、および生成されるデータ)。 - SQL/JSON生成関数の入力値の処理
SQL/JSON生成関数は、入力としてSQL値を受け取り、JSONオブジェクトまたは配列を返します。入力値を使用して、JSONオブジェクトのフィールド値のペアまたはJSON配列の要素を生成します。入力値を使用する方法は、SQLデータ型によって異なります。 - SQL/JSONファンクションJSON_OBJECT
SQL/JSONファンクションjson_object
は、引数のSQL式を評価した結果からJSONオブジェクトを構成します。 - SQL/JSONファンクションJSON_ARRAY
SQL/JSONファンクションjson_array
は、引数のSQL式を評価した結果からJSON配列を構成します。 - SQL/JSONファンクションJSON_OBJECTAGG
SQL/JSONファンクションjson_objectagg
は、グループ化されたSQL問合せの複数行の情報をオブジェクト・メンバーとして集計して、JSONオブジェクトを構成します。 - SQL/JSONファンクションJSON_ARRAYAGG
SQL/JSONファンクションjson_arrayagg
は、グループ化されたSQL問合せの複数行の情報を配列要素として集計して、JSON配列を構成します。配列要素の順序は、デフォルトでは、問合せ結果の順序に反映されますが、ORDER BY
句を使用すると、配列要素の順序を指定できます。 - JSON生成に基づく読取り専用ビュー
JSON生成関数またはコンストラクタJSON
を使用して読取り専用ビューを作成できます。アクセス権があるユーザーは誰でも、そのビューを読取り専用表であるかのように使用できます。JSONデータのユーザーは、それがそれ自体として格納されているかや必要に応じて生成されているかを把握する必要も気にする必要もありません。
親トピック: JSONデータの生成