例: JSON列への値の挿入 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - JSONデータ型

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年9月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/gzn1554761068186.ditamap
dita:ditavalPath
ja-JP/gzn1554761068186.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.