在 oracle apex 中访问触发器内的 "Page Items to Submit" 值

Access "Page Items to Submit" values inside a trigger in oracle apex

我想从不在相关数据中的触发器访问额外的页面项目值 table。例如,我有一个如下所示的 table,

      Employee
----------------------

empId | fName | lName 
----------------------
1     | John  | Doe
----------------------
2     | Jane  | Doe 

Apex 表单项目会像,

P500_EMPID, P500_FNAME, P500_LNAME

我有一个名为 P500_SOMEIDS 的额外页面项目,它是一个多 select 列表。我想访问 Employee table 的 After Insert 触发器内的那些 selected 值。我试图将此项目添加到“要提交的页面项目”中。但我不知道如何在触发器中访问它。可能吗..?以及如何..?

不使用数据库触发器,而是使用可以完成相同工作的存储过程。传递任意数量的参数(包括 P500_SOMEIDS 项)。

在处理您的 table 更新的页面进程中(这将是一个类型为“表单 - 自动行处理 (DML)”的进程),在“设置”下有一个属性“Return Primary Key(s) after Insert”。如果设置为“On”,则插入语句会将插入行的值 return 插入到定义为主键的页面项中。 示例:

  • 在 emp 上创建表单
  • 将P1_EMPNO设为主键页面项
  • 假设新建一行,empno值为1000,那么在自动行处理页面处理后运行,P1_EMPNO的值设置为1000。

如果您想将行插入到另一个引用新创建的 empno 的 table 中,那么您可以创建类型为 行处理之后执行的页面进程pl/sql 代码如下:

BEGIN
  INSERT INTO some_other_table (empno) VALUES (:P1_EMPNO); 
END;

应尽可能避免将触发器用于业务功能。