【发布时间】:2019-08-12 16:52:41
【问题描述】:
在 DB2 for IBM i 中,是否可以创建一个触发器,该触发器每个语句运行一次,但能够遍历所有受影响的行以确定是否有任何值实际更改?
用例是使用基础表上的触发器更新物化查询表 (MQT)。但我们只想在值实际发生变化时刷新 MQT。如果我们创建每行运行一次的触发器,我们就能获得所需的功能。但是,如果我们一次插入、更新和/或删除多行,则“刷新”语句会针对每一行运行。目前,我们系统上的这个 MQT 大约需要 10 秒。
只是希望有一种方法可以使用触发器集在每个语句中运行一次,但仍然可以访问每个单独行的前后值。我无法找到任何表明它是否可能的东西。虽然我怀疑不是。
如果有其他方法可以有效地自动刷新 MQT,我也愿意。
【问题讨论】:
标签: db2 database-trigger db2-400 materialized-views