我经常需要创建触发器,它会将插入/更新中的行的所有内容复制到另一个表。由于一些表有200列,这通常是
的长篇文章CREATE TRIGGER scheme.trigger AFTER UPDATE ON scheme.table
REFERENCING OLD as o_row NEW as n_row
FOR EACH ROW
BEGIN
INSERT INTO archive (...) VALUES(...);
END;
这是很多打字。是否有一个简单的生成器来构建这些类型的触发器,插入,更新?
答案 0 :(得分:1)
我不知道为您生成CREATE TRIGGER语句的工具,但我已经多次从查询中生成了DDL,并且我需要引用的唯一视图是SYSCAT.COLUMNS
以下因素将简化您将要编写的触发器DDL生成器查询: - 原始表和存档表之间的列名相同。 - 目标表中的所有列都没有定义为GENERATED ALWAYS,否则您需要从INSERT语句中省略它们。
答案 1 :(得分:1)
如果进程有一组输入参数,并且具有这些参数的进程相同,则可以从触发器调用存储过程,并传递参数。 这样,您就不必重新复制/重新创建所有这些DML句子。