oracle 如何在保存表单中的数据后运行进程

knpiaxh1  于 2023-05-16  发布在  Oracle
关注(0)|答案(1)|浏览(181)

我在Apex 22.2中有一个带有交互式网格的页面。我修改了“添加行”按钮,以打开一个作为窗体的模式页面。此表单包含两个重要字段“创建者”(即应用程序用户)和“分配给”。我可以填写字段,点击保存后,更改被正确保存。我想实现的是,一旦保存数据,我想运行一个函数,检查“创建者”和“分配给”是否不同,如果是,它将发送一封电子邮件。我已经有一个功能,发送一封电子邮件,已经工作了几个月。这只是一个新的电子邮件正在发送的特定条件。
我尝试在保存按钮上使用动态操作,但我认为它没有做任何事情,因为当动态操作被触发时,数据没有被保存。
因此,该过程将是“添加行”,模态对话框打开,用户填写表单,用户单击保存,该过程检查“创建者”和“分配给”是否不同并发送电子邮件,用户关闭模态对话框并返回到交互式网格。
一些额外的花式将也关闭对话框后保存它(如果它是成功的)和发送电子邮件。但如果它保存数据并发送电子邮件,我会非常高兴。

t1rydlwq

t1rydlwq1#

如果
用户单击保存
是由(模态对话框)表单页面上的一个按钮执行的,然后它-我假设-提交页面。创建一个进程,当按下“保存”按钮时运行,并执行以下操作

if :P1_CREATED_BY = :P1_ASSIGNED_TO then
   p_send_mail(...);
end if;

如果出于某种原因这不起作用,您可以创建一个数据库触发器,例如。

create or replace trigger trg_bi
  before insert on that_table
  for each row
begin
  if :new.created_by = :new.assigned_to then
     p_send_mail(...);
  end if;
end;
/

相关问题