この例では、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