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