首页 > 解决方案 > Oracle 存储过程视线

问题描述

我对嵌套程序的视线很好奇。我有一个过程,Proc1,它接受在模式级别定义的 C# 建模 UDT。

Proc2 - 插入:(从 Proc1 内部调用)识别 UDT 中但不在表中的记录并创建新记录。

Proc3 - 更新:(从 Proc1 内部调用)这个 proc 是否能够看到(看到)来自 Proc2 的新创建记录?IE,proc2 完成时是否有“提交”?

Proc4 - 删除(从 Proc1 内部调用)删除所有正确识别的记录。

标签: stored-proceduresoracle12c

解决方案


过程完成时没有隐式提交。但是由于同一调用堆栈中的所有过程都是同一事务的一部分,它们本质上将属于同一事务范围的一部分(我忽略了您已定义您的过程之一以使用自主事务的可能性,我假设您是t 通过发出显式commitrollback) 显式结束事务。因此,每个过程都会看到在同一会话中较早运行的所有代码的未提交结果。


推荐阅读