次の文のいずれかを使用して、JSON列に値を挿入できます。
- INSERT
INSERT操作の実行中に、JSON型として評価される式によってJSON列の値を初期化できます。一般的な例には、JSON戻り型を持つUDFの戻り値、JSON型コンストラクタ、JSON型にキャストされる文字列(この場合データがJSON文の構文に準拠する)などがあります。
次のINSERTフォームでは、JSON型コンストラクタまたはJSON型として評価される式をソース値として使用できます。- 位置リスト
- 割り当てリスト
- 名前付きリスト
- INSERT...SELECT
INSERT...SELECTの実行中に、実際のデータ長がターゲット テーブルのJSON列に適合しているJSON列をともなうソース テーブルを選択し、ソース値として使用できます。ソース データがターゲットのJSON列の最大長より大きい場合は、エラーが報告されます。
ソースJSON列がUNICODE、ターゲットJSON列がLATIN、およびソースJSONインスタンスがLATINで表現できない文字を含んでいる場合、エラーが報告されます。
- MERGE
MERGE文を使用して、WHEN NOT MATCHED THEN INSERT句に基づき値を挿入できます。WHEN MATCHED THEN UPDATE句を使用してJSON列を変更できます。
- UPDATE(Upsert形式)
UPDATE(Upsert形式)を使用して、指定した行のJSON列の値を更新できます。行が存在しない場合は、UPDATE(Upsert形式)によって、行が列の初期値の指定セットとともにテーブルに挿入されます。
以下を使用して、BSON形式の列にデータを挿入できます。
- CAST文
- CHAR/VARCHAR/CLOB(JSONテキスト形式)
- BYTE/VARBYTE/BLOB(BSON形式またはその他のJSON形式)
- NEW JSONコンストラクタ
コンストラクタへの入力には、CHAR/VARCHAR/CLOB(JSONテキスト形式)またはBYTE/VARBYTE/BLOB(BSON形式)を指定できます。
以下を使用して、UBJSON形式の列にデータを挿入できます。
- CAST文
CHAR/VARCHAR/CLOB(JSONテキスト形式またはその他のJSON形式)
- NEW JSONコンストラクタ
コンストラクタへの入力には、CHAR/VARCHAR/CLOB(JSONテキスト形式)を指定できます。