我知道有 pragmaautonomous_transaction。但我还能得到更多吗?
我想启动一个与调用例程完全隔离的子例程(包中的过程)。
即:
所以基本上,我想开始一个新会话并在该会话中运行子例程。但我该如何存档呢?
最好的,彼得
如果“子例程”实际上是一个存储过程(如果不是,则使其如此),那么一种选择是从主(调用)过程调度它;它会“立即”运行,并且仅运行一次。这样做,主程序将继续做它所做的事情,而子例程将单独做它所做的事情。 使用
DBMS_SCHEDULER
。基本上,你会
create procedure p_main is
begin
... do something here
-- call subroutine
dbms_scheduler.create_job(..., p_subroutine, ...)
... continue main procedure
end