Description of the illustration arpls008.eps
This figure shows DBMS_SQL execution flow, starting with OPEN_CURSOR and PARSE calls and ending with a CLOSE_CURSOR call:
-
Flow goes from
OPEN_CURSORtoPARSE. -
After the
PARSEcall is a decision point: Are bind variables used? -
Depending on whether bind variables are used:
-
If bind variables are used, call
BIND_VARIABLE. Loop to call it as many times as necessary according to the number of bind variables. -
If bind variables are not used, do not call
BIND_VARIABLE.
-
-
Then comes another decision point: Is the statement a query?
The following steps describe the remaining flow if the statement is not a query:
-
Call
EXECUTE. -
After the
EXECUTEcall is a decision point: Is the statement a PL/SQL block? -
Depending on whether it is a PL/SQL block:
-
If it is a PL/SQL block, call
VARIABLE_VALUEif necessary for any bind variables. Loop to call it as many times as necessary according to the number of bind variables. -
If it is not a PL/SQL block, do not call
VARIABLE_VALUE.
-
-
The flow is then shown to loop back up to the
PARSEcall, the "Use bind variables?" decision point, or the "Query?" decision point as appropriate. -
At the end of the flow, call
CLOSE_CURSOR.
The following steps describe the remaining flow if the statement is a query:
-
Call
DEFINE_COLUMN. Loop to call it as many times as necessary. -
Call
EXECUTE. -
Call
FETCH_ROWS. -
Call
COLUMN_VALUEandVARIABLE_VALUE. Loop to call them as many times as necessary. -
After the
COLUMN_VALUEandVARIABLE_VALUEcalls, the flow is shown to loop back up to theEXECUTEcall or theFETCH_ROWScall as appropriate. -
At the end of the flow, call
CLOSE_CURSOR.
End of description.