想知道是否有人可以帮助我了解 DB2 before insert 触发器的行为方式。我有一个将行插入 DB2 数据库的 Grails 应用程序。有问题的表有一个插入前触发器,用于更新日期和用户以进行更新:
CREATE TRIGGER WTESTP.SCSMA11I NO CASCADE BEFORE INSERT ON
WTESTP.SCSMA01T REFERENCING NEW AS NEWROW FOR EACH ROW MODE
DB2SQL BEGIN ATOMIC SET NEWROW.LST_UPDT_TMSP =
CURRENT_TIMESTAMP ; SET NEWROW.USER_ID = RTRIM ( USER ) ; END ;
在我的 Grails 应用程序中,我设置了所有值,包括用户 ID:
flatAdjustmentInstance.setUserID("TS37813")
我们通过 JNDI 使用通用应用程序 ID 和密码来建立与数据库的连接。出于审计目的,我需要将用户的值设置为登录到应用程序的任何人。是完全删除触发器并确保它已设置的唯一解决方案吗?