0

当用户按保存时,我想在 IG 中设置列​​值。我有 2 列“created_by”和“updated_by”,现在当我的主键列:P8_ID 为空时,应该使用应用程序项设置“created_by”列值:登录时设置的 SESSION_USER_ID,当:P8_ID 不为空时设置“updated_by” . 我可以在“页面项目”可用的表单上设置使用流程,但如何为 IG 列执行相同操作?请指导。--使用 Apex 21.1--

4

1 回答 1

1

Apex 应用程序中的一种常见做法是通过触发器设置表上的审计列(created (date)、created_by、updated (date) 和 updated_by)。这种方法的优点是这在您的应用程序中是透明的。您不必担心应用程序中执行插入/更新的任何地方的审计列。

虚拟表上的示例:

create or replace trigger test_table_biu
    before insert or update 
    on test_table
    for each row
begin
    if inserting then
        :new.created := sysdate;
        :new.created_by := coalesce(sys_context('APEX$SESSION','APP_USER'),user);
    end if;
    :new.updated := sysdate;
    :new.updated_by := coalesce(sys_context('APEX$SESSION','APP_USER'),user);
end test_table_biu;
/
于 2021-12-13T11:54:54.777 回答