例: JSON列への値の挿入 - Teradata Database - Teradata Vantage NewSQL Engine - これらの例では、INSERTおよびINSERT-SELECT文を使用してJSON列に値を挿入する方法を示しています。

Teradata Vantage™ JSONデータ型

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/bgi1512081870828.ditamap
dita:ditavalPath
ja-JP/bgi1512081870828.ditaval
dita:id
evi1472243742653
Product Category
Software
Teradata Vantage

例: INSERT文

この例では、JSON列を含むテーブルを作成し、JSONコンストラクタを使用してJSONインスタンスを割り当てて初期化し、さらにJSON値と整数値をテーブルに挿入します。

CREATE TABLE my_table (eno INTEGER, edata JSON(100));
INSERT INTO my_table VALUES(1, 
	NEW JSON('{"name" : "Cameron", "age" : 24}')); 

この例では、JSON列が含まれるテーブルにJSON文字列を挿入します。

INSERT INTO my_table VALUES(2, 
	'{"name" : "Cameron", "age" : 24}');
文字列が正しくフォーマットされていない場合は、エラーが報告されます。
INSERT INTO my_table VALUES(3,
	'{"name" : "Cameron"');
*** Failure 7548: Syntax error in JSON string: expected a '}'.

例: INSERT...SELECT文

この例では2つのテーブルを作成し、JSONデータを最初のテーブルから2番目のテーブルに挿入します。

CREATE TABLE my_table (eno INTEGER, edata JSON(100));
CREATE TABLE my_table2 (eno INTEGER, edata JSON(20));
INSERT INTO my_table VALUES(1, 
	NEW JSON('{"name" : "Cam"}'));
INSERT INTO my_Table2
	SELECT * FROM my_table;
JSONデータが大きすぎて列に収まらない場合、エラーが報告されます。
INSERT INTO my_table VALUES(1, 
	NEW JSON('{"name" : "Cameron", "age" : 24}'));
INSERT INTO my_Table2
	SELECT * FROM my_table;
*** Failure 7548: Data too large for this JSON instance.