この形式のトリガーがあります:
トリガーの作成 TBP701_UPDATE TBP701の更新後 OLD を OLD_ROW として参照 NEW AS NEW_ROW 行ごとに モード DB2SQL TBP702 に挿入 (ID、IRN、イベント、OLDVALUES、NEWVALUES、USER、ENTRYTIME) 値 ( DEFAULT , NEW_ROW . COLUMN1 , 'BUYBACK_ADD' , '{"column1":"' CONCAT OLD_ROW . COLUMN1 CONCAT '","column2":"' CONCAT OLD_ROW . COLUMN2 CONCAT '","column3":"' CONCAT OLD_ROW . COLUMN3 CONCAT '"}' , '{"column1":"' CONCAT NEW_ROW . COLUMN1 CONCAT '","column2":"' CONCAT NEW_ROW . COLUMN2 CONCAT '","column3":"' CONCAT NEW_ROW . COLUMN3 CONCAT '"}' , ユーザー、CURRENT_TIMESTAMP);
tbp701 の古い値と新しい値を json 形式の新しいテーブルに挿入する必要があります。上記のクエリでは、JSON 文字列をハードコーディングしました。しかし、何百ものテーブルにそのようなトリガーを書く必要があります。したがって、次の2つのパラメーターを受け取ることができるSQL関数が必要です
- トリガーからの NEW_ROW/OLD_ROW 参照と
- テーブル名
トリガーが起動された特定のテーブルと行のすべての列を含むjson文字列を返す必要があります。その後、すべてのトリガーでその関数を再利用できます。
私は、db2 の概念におけるこのような高度な機能に不慣れです。したがって、説明的な回答をいただければ幸いです。
ありがとう。