暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Trigger Program的解析

啊皮 2021-07-29
1400

1> 要说到trigger,首先必须得提到trigger,什么是trigger呢,中文意思是触发器,一般指的对物理文件file level 或者record level 搞动作(增删改查),就会触发call 指定的trigger program.

这里补充一点,当需要ADDPFTRG的时候,务必需要保证当前file 没有任何的lock, 所以ADDPFTRG的时候务必WRKOBJLCK,相关的LF也需要检查,这也是为何很多小伙伴ADD trigger失败的原因

2> 回到主题Trigger program, trigger program 是自动触发的,当符合event条件,最经典的用法trigger time *after, trigger event *change ,当更改了文件里的数据之后,会自动的触发pgm,从PGM的的入口参数里就能拿到before image & after image. 以下核心代码Example:


以下是入口参数1的具体内容,入口参数二一般不用给任何value

3> 有时候大家用sql 语句去update record failed,莫名其妙失败的时候,或许也需要看看是不是因为trigger程序权限问题导致更新失败。

4> trgger 一般会影响文件I/O的效率,入口是大量的数据更新,或许需要考虑trigger的必要性,以及必要的trigger程序performance.


文章转载自啊皮,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论