有没有办法获取在 SQL 触发器程序中已触发触发器的文件成员和库?
基本上我想获取 RPGLE 触发程序中可用的 Parm1(触发缓冲区字段描述)。
01 dcl-ds Parm1 ;
02 File char(10) ; // File name
03 Library char(10) ; ** // Library file is in
04 Member char(10)** ; // Member name**
05 TriggerEvent char(1) ; // Trg event 1=Add 2=Delete 3=Change
06 TriggerTime char(1) ; // Trigger time
07 CommitLock char(1) ; // Commit lock level
08 *n char(3) ; // Reserved
09 CCSID int(10) ; // CCSID
10 *n char(8) ; // Reserved
我的示例 SQL 触发器程序:
01 CREATE OR REPLACE TRIGGER TRGTESTFILE
02 AFTER INSERT OR DELETE OR UPDATE ON MYLIB.TESTFILE1
03 REFERENCING NEW ROW AS N OLD ROW AS O
04 FOR EACH ROW MODE DB2ROW
05 BEGIN
06 DECLARE TSTAMP TIMESTAMP ;
07 IF INSERTING THEN
08 INSERT INTO MYLIB.OUTFILE
VALUES(CURRENT TIMESTAMP,
JOB_NAME,
'I',
N.ID,
N.NAME) ;
09 END IF ;
谢谢
我正在尝试获取已触发触发器的文件成员名称和库。
如果我理解你的问题,你有两种方法来记录你的触发器。
之后就没有办法得到名字了。 IBM 仅向您提供具有触发器的文件列表:
SELECT * FROM QSYS2/SYSTRIGGER
不幸的是,没有 TRIGGER EVENT LOG 表。