我有一个小型应用程序快速应用程序。它运行一些代码,大约需要12分钟才能执行。 (谢谢,我在这方面不需要任何帮助),但是我想知道的是,在代码完成后,是否有办法让屏幕继续前进?
我有一个“提交后”过程,类型为“ PL / SQL代码”,在执行选项下,我有“提交后”。该代码是一个匿名块,它进行一些检查,然后执行一些存储过程。
为此触发的是应用程序中的“下一步”按钮。但是,单击“ NEXT”按钮将产生基本的“挂起”效果,而棘手的动画“ egg timer”事件将一直运行直到代码运行为止。
在后台执行代码的同时,是否有一种方法可以使屏幕前进到下一页,而用户不必等待?谢谢!
答案 0 :(得分:3)
当然;将过程安排为数据库作业。一个简单的选项是使用DBMS_JOB
。例如,如果您将自己的代码放入存储过程中(我们将其称为P_SCOUSE
),那么您会
declare
l_job number;
begin
dbms_job.submit(job => l_job,
what => p_scouse,
next_date => sysdate,
interval => null);
commit;
end;
该过程将在后台运行,使您可以在Apex应用程序中执行所需的任何操作。
另外,检查DBMS_SCHEDULER
提供的服务。它比DBMS_JOB
更新,还有一些其他选择,但是-正如我说的-对于如此简单的事情,DBMS_JOB
完成了这项工作。