2

我的情况:
我想使用我在 db2 中的一个真正敏感的表来制作一个历史表。
普通用户正在通过一些静态计划(已经编译)访问该表。

我想要什么:
我需要记录时间,而世卫组织对此进行了更新。

我打算使用触发器,因为它似乎符合我的需求,但我仍然不知道如何进入“触发触发器”的触发器。
我的意思是,要知道调用静态计划的批处理或可执行文件。

注意:由于每个可执行文件都使用不同的计划,因此获取某种计划 ID 是可以接受的。

可行吗?我该怎么做?

4

2 回答 2

1

有一个特殊的 DB2 寄存器称为USER,它存储授权 id 的信息。您可以像在触发器的插入或更新查询中使用 TIMESTAMP 一样使用它。

SET HIST_LAST_UPDATE_USER = USER;

如果您对架构没问题,那么您也可以使用 CURRENT SCHEMA 或 CURRENT SQLID。

于 2013-02-14T05:46:06.290 回答
1

如果其他人需要它,我能够找到方法:

GETVARIABLE(SYSIBM.SYSPLAN);
于 2013-02-14T16:26:01.623 回答