例: JSONIDおよびROWINDEXキーワードを使用するJSON_SHRED_BATCH - Teradata Database - Teradata Vantage NewSQL Engine - この例では、JSONIDおよびROWINDEXキーワードの使い方を示します。

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
この例では、JSONIDおよびROWINDEXキーワードの使い方を示します。
この例を実行する前に、ソース テーブル(jsonshred.JSONDocs)に対してSELECT権限があること、およびターゲット テーブル(jsonshred.Teradata_Employees)に対してINSERT権限があることを確認します。
CALL SYSLIB.JSON_SHRED_BATCH(
   'SELECT * FROM jsonshred.JSONDocs',
   NEW JSON('[
   {
   "rowexpr" : "$.employees.info[*]",
   "colexpr" : [{"col1" : "$..id", "type" : "INTEGER"},
                {"col2" : "$.employees.company", "type" : "VARCHAR(15)","fromRoot":true},
                {"col3" : "$..name", "type" : "VARCHAR(20)"},
                {"col4" : "$..dept", "type" : "VARCHAR(20)"}],
   "queryexpr" : [{"qrycol1" : "varchar(20)"},{"qrycol2" : "varchar(20)"}],
   "tables" : [
                {"jsonshred.Teradata_Employees" : { 
                "metadata" : { "operation" : "insert","keys" : ["empId"] },
                "columns" :  {"rowIndex" : "ROWINDEX",
                              "empId" : "col1+1000",
                              "empName" : "col3",
                              "jsonDocId" : "JSONID",
                              "company" : "col2",
                              "dept" : "col4",
                              "site" : "qrycol1",
                              "country" : "qrycol2" }
                             }
                }
              ]
   }]', LATIN), :res);
結果を確認するには、次を実行します: SELECT * from jsonshred.Teradata_Employees order by rowindex;
rowIndex   empId  empName      company      dept         jsonDocId  site    country
--------  ------  -----------  -----------  -----------  ---------  ------  -------
       0    1001  Cameron      Teradata     engineering          1  HYD     USA
       1    1002  Justin       Teradata     engineering          1  HYD     USA
       2    1003  Madhu        Teradata     engineering          2  HYD     USA
       3    1004  Srini        Teradata     engineering          2  HYD     USA