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_CURSOR
toPARSE
. -
After the
PARSE
call 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
EXECUTE
call 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_VALUE
if 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
PARSE
call, 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_VALUE
andVARIABLE_VALUE
. Loop to call them as many times as necessary. -
After the
COLUMN_VALUE
andVARIABLE_VALUE
calls, the flow is shown to loop back up to theEXECUTE
call or theFETCH_ROWS
call as appropriate. -
At the end of the flow, call
CLOSE_CURSOR
.
End of description.