この例では、JSON_SHRED_BATCH Update操作を使用して、JSONインスタンスからテーブルを更新します。
3名の従業員の実際の開始日付となる新しいデータが入力されると仮定します(以前デフォルトの値をテーブルに取り込みました)。以下のクエリーを含むJSON_SHRED_BATCHを使用してその特定の値を更新できます。
この例を実行する前に、ソース テーブル(json_table)に対してSELECT権限があること、およびターゲット テーブル(emp_table)に対してUPDATE権限があることを確認します。
CALL SYSLIB.JSON_SHRED_BATCH(
'SELECT id, empCompanyInfo FROM test.json_table',
'[
{
"rowexpr" : "$.startDates.info[*]",
"colexpr" : [
{"col1" : "$.id",
"type" : "INTEGER"},
{"col2" : "$.startDates.company",
"type" : "VARCHAR(15)",
"fromRoot" : true},
{"col3" : "$.startDate",
"type" : "VARCHAR(20)"}
],
"tables" : [
{
"test.emp_table" : {
"metadata" : {
"operation" : "update",
"keys" : [ "empID", "company" ]
},
"columns" : { "empID" : "col1*100",
"company" : "col2",
"startDate" : "col3" }
}
}
]
}
]', :res );
結果: employeeテーブルで更新されたデータを表示するには次を実行します。SELECT empID, company, empName, empAge, startDate, site FROM emp_table ORDER BY empID;
empID company empName empAge startDate site ---------------------------------------------- 100 Teradata Cameron 24 15/02/10 RB 200 Teradata Justin 34 15/02/07 RB 300 Teradata Melissa 24 15/02/07 RB