Heyho,
我正在尝试设置一个类似的程序:
Create or Replace Procedure MyProcedure1(
x in number default 1,
y in number default 1
)
AS
Begin
If x = 1 then
MyProcedure2;
EndIf;
If y = 1 then
MyProcedure3
EndIf;
End MyProcedure1;
MyProcedure3必须在MyProcedure2完成后完成,因为它需要一些由MyProcedure2设置的值(包含一些函数)。 那么Oracle在继续运行MyProcedure1之前首先完全运行MyProcedure2吗?
答案 0 :(得分:3)
是的,MyProcedure2将在控制返回MyProcedure1之前运行完成,然后MyProcedure1可以继续运行MyProcedure3。同样,MyProcedure2调用的任何函数都将在MyProcedure2返回之前运行完毕。