トリガーを更新しているときに、テーブルのレコード変更のトリガーを書き込んでいます。
CREATE TRIGGER vehicle_mst_log
AFTER UPDATE ON vehicle_mst
FOR EACH ROW BEGIN
IF (OLD.COLUMN1 != NEW.COLUMN1) THEN
INSERT INTO ABN_OLDLOGTABLE (
TABLENAME,
COLUMNNAME,
OLDVALUE,
NEWVALUEW,
TIME,
USER)
VALUES (
"TABLE",
"COLUMN1",
COLUMN1OLDVALUE,
COLUMN1NEWVALUE,
NOW(),
USER);
END IF;
IF (OLD.COLUMN2 != NEW.COLUMN2) THEN
INSERT INTO ABN_OLDLOGTABLE (
TABLENAME,
COLUMNNAME,
OLDVALUE,
NEWVALUEW,
TIME,
USER)
VALUES (
"TABLE",
"COLUMN2",
COLUMN2OLDVALUE,
COLUMN2NEWVALUE,
NOW(),
USER);
END IF;
END;
しかし、私はテーブルに約40の列を持っており、ループ内で列名を記述して値の変更をチェックする他の簡単な方法があります