为触发器生成SQL脚本

时间:2011-05-10 11:59:13

标签: sql triggers db2 generator

我经常需要创建触发器,它会将插入/更新中的行的所有内容复制到另一个表。由于一些表有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;

这是很多打字。是否有一个简单的生成器来构建这些类型的触发器,插入,更新?

2 个答案:

答案 0 :(得分:1)

我不知道为您生成CREATE TRIGGER语句的工具,但我已经多次从查询中生成了DDL,并且我需要引用的唯一视图是SYSCAT.COLUMNS

以下因素将简化您将要编写的触发器DDL生成器查询: - 原始表和存档表之间的列名相同。 - 目标表中的所有列都没有定义为GENERATED ALWAYS,否则您需要从INSERT语句中省略它们。

答案 1 :(得分:1)

如果进程有一组输入参数,并且具有这些参数的进程相同,则可以从触发器调用存储过程,并传递参数。 这样,您就不必重新复制/重新创建所有这些DML句子。