我遇到过程调用问题..例如
MAIN_PROCEDURE_starts
LOOP
FOR records_present in Table_test
Begin
Call_procedure1
End
Begin
Call_procedure2
End
Begin
Call_procedure3 --this procedure gives an output value
End
Begin
Call_procedure4 --this procedure takes input from output of procedure 3
End
Begin
Call_procedure5
End
End loop
End
在这里,我遇到了以下问题:
答案 0 :(得分:1)
First
,对于每次BEGIN....END
通话,都没有Procedure
的感觉。
如果您对Exception Handling
感到担心,请确保您在all
程序Call_procedure1,Call_procedure2....
中执行相同操作。
Secondly
,你说它不是循环迭代,为什么你认为它不是迭代的。它是因为异常而将null值传递给proc 4,这引发了异常,因此程序以异常终止。
Thirdly
:请详细说明您的要求,如果output
的{{1}}为procedure3
,您想要做什么?,您想继续或加注吗?例外。如果你没有说明这些条件,那么任何人都很难在这里帮助你。
null
:如果你想继续循环,如果任何一个过程失败,那么不要在异常处理部分程序中引发异常。这样你就可以实现迭代,但这很糟糕数据库设计。在Forthly
input
或output
的情况下,首先尝试查找您要执行的操作,然后继续。
exception