18 APEX_EXEC
The APEX_EXEC
package encapsulates data processing and querying capabilities and provides an abstraction from the data source to Application Express components and plug-ins. APEX_EXEC
contains procedures and functions to execute queries or procedural calls on local and remote data sources as well as REST Data Sources. It can be used for plug-in development and procedural PL/SQL processing in applications or within packages and procedures.
All APEX_EXEC
procedures require an existing Application Express session to function. In a pure SQL or PL/SQL context, use the APEX_SESSION
package to initialize a new session.
The typical call sequence depends on the used data source.
-
REST Enabled SQL Data Sources
-
Prepare bind variables with [optional]
-
Create a variable of
APEX_EXEC.T_PARAMETERS
type -
Add bind values with
APEX_EXEC.ADD_PARAMETER
-
-
Execute the remote query call
-
Call
APEX_EXEC.OPEN_REMOTE_SQL_QUERY
-
-
Get column indexes for result column names
-
Call
APEX_EXEC.OPEN_WEB_SOURCE_QUERY
-
-
Loop until the result set is exhausted
-
Call
APEX_EXEC.NEXT_ROW
-
-
Retrieve column values for each column by position
-
call
APEX_EXEC.GET_VARCHAR2
,APEX_EXEC.GET_NUMBER
,APEX_EXEC.GET_DATE
, ...
-
-
Finally ALWAYS close the query context - IMPORTANT
-
Call
APEX_EXEC.CLOSE
-
-
-
REST Data Source
-
Prepare REST data source parameters variables with [optional]
-
Create a variable of
APEX_EXEC.T_PARAMETERS
type -
Add bind values with
APEX_EXEC.ADD_PARAMETER
-
-
Prepare filters to be passed to the REST data source (if supported by the data source)
-
Create a variable of
APEX_EXEC.T_FILTERS
type -
Add bind values with
APEX_EXEC.ADD_FILTER
-
-
Prepare order by expressions to be passed to the REST data source (if supported by the data source)
-
Create a variable of
APEX_EXEC.T_ORDER_BYS
type -
Add bind values with
APEX_EXEC.ADD_ORDER_BY
-
-
Execute the remote query call
-
Call
APEX_EXEC.OPEN_WEB_SOURCE_QUERY
-
Pass in filters, order bys and parameters previously prepared
-
-
Get column indexes for result column names
-
Call
APEX_EXEC.GET_COLUMN_POSITION
-
-
Loop until the result set is exhausted
-
Call
APEX_EXEC.NEXT_ROW
-
-
Retrieve column values for each column by position
-
Call
APEX_EXEC.GET_VARCHAR2
,APEX_EXEC.GET_NUMBER
,APEX_EXEC.GET_DATE
, ...
-
-
Finally ALWAYS close the query context - IMPORTANT
-
Call
APEX_EXEC.CLOSE
-
-
Note:
Always add an exception handler to your procedure or function to ensure that APEX_EXEC.CLOSE
is always called to release server resources such as database cursors and temporary lobs.
- Global Constants
- Data Types
- ADD_COLUMN Procedure
- ADD_DML_ROW Procedure
- ADD_FILTER Procedure
- ADD_ORDER_BY Procedure
- ADD_PARAMETER Procedure
- CLEAR_DML_ROWS Procedure
- CLOSE Procedure
- COPY_DATA Procedure
- EXECUTE_DML Procedure
- EXECUTE_PLSQL Procedure
- EXECUTE_REMOTE_PLSQL Procedure
- EXECUTE_REST_SOURCE Procedure
- EXECUTE_WEB_SOURCE Procedure (Deprecated)
- GET Functions
- GET_COLUMN Function
- GET_COLUMN_COUNT Function
- GET_COLUMN_POSITION Function
- GET_DATA_TYPE Functions
- GET Functions
- GET_DML_STATUS_CODE Function
- GET_DML_STATUS_MESSAGE Function
- GET_PARAMETER Functions
- GET_ROW_VERSION_CHECKSUM Function
- GET_TOTAL_ROW_COUNT Function
- HAS_ERROR Function
- HAS_MORE_ROWS Function
- IS_REMOTE_SQL_AUTH_VALID Function
- NEXT_ROW Function
- OPEN_LOCAL_DML_CONTEXT Function
- OPEN_REMOTE_DML_CONTEXT Function
- OPEN_REMOTE_SQL_QUERY Function
- OPEN_QUERY_CONTEXT Procedure
- OPEN_QUERY_CONTEXT Function
- OPEN_REST_SOURCE_DML_CONTEXT Function
- OPEN_WEB_SOURCE_DML_CONTEXT Function (Deprecated)
- OPEN_REST_SOURCE_QUERY Function
- OPEN_WEB_SOURCE_QUERY Function (Deprecated)
- PURGE_REST_SOURCE_CACHE Procedure
- PURGE_WEB_SOURCE_CACHE Procedure (Deprecated)
- SET_NULL Procedure
- SET_VALUE Procedure
- SET_VALUES Procedure
- SET_ROW_VERSION_CHECKSUM Procedure