JSON形式の入力を指定します。JSONオプションの使用上のルールを参照してください。
JSONデータの書式設定の詳細については、<Teradata Vantage™ JSONデータ型、B035-1150>を参照してください。
- 'JSON_string'
- データのリテラル文字列をJSON形式で指定します。
- ?
- パラメータ化SQLを指定します。
例: JSON形式でのデータの挿入
次の例のテーブル定義を以下に示します。
CREATE TABLE MyTable ( pkey INTEGER, val INTEGER, j JSON AUTO COLUMN);
この文は、値10を列pkeyに、値1234を列valに挿入します。テーブルには、extraという名前の列がないため、値1234は自動列jに挿入されます。
INSERT INTO MyTable JSON '{"pkey":10,"val":1234,"extra":"1234"}';
この文は、疑問符(?)で表わされるパラメータ化SQLを、パラメータ化SQLをサポートするクライアントのテーブルMyTableに挿入します。
INSERT INTO MyTable JSON ?;次の例のテーブル定義を以下に示します。
CREATE TABLE LDITable, WITH ISOLATED LOADING ( pkey INTEGER, val INTEGER, j JSON AUTO COLUMN);
この文は、ロード分離テーブルLDITableに挿入します。
INSERT WITH ISOLATED LOADING INTO LDITable '{"pkey":10,"val":1234,"extra":"1234"}';
次の例のテーブル定義を以下に示します。テーブルjsonTableには、値を含む必要がある自動列jが含まれています。
CREATE TABLE jsonTable ( a INTEGER, b INTEGER, j JSON AUTO COLUMN NOT NULL);
これらの文は、テーブルJsonTableに3行のデータを挿入します。
INSERT jsonTable JSON '{"a":1,"b":1,"extra":1}';
INSERT jsonTable JSON '{"a":2,"b":2,"extra1":2,"extra2":222}';
INSERT jsonTable JSON '{"a":3,"b":3};
テーブルには、extra、extra1、またはextra2という名前の列がないため、extra、extra1、およびextra2に指定された値は自動列jに挿入されます。3番目のinsert文は、列aとbの値のみを指定します。列jはNOT NULLとして定義されているため、空の括弧({})のセットが列jの3行目に挿入されます。
SELECT * FROM jsonTable ORDER BY 1; a b j ----------- ----------- -------------------------------------- 1 1 {"extra":"1"} 2 2 {"extra1":"2","extra2":"222"} 3 3 {}