15 APEX_EXEC
APEX_EXECパッケージは、データ処理とデータ問合せの機能をカプセル化し、データ・ソースからApplication Expressのコンポーネントおよびプラグインに抽象化を提供します。これには、ローカル・データ・ソース、リモート・データ・ソースおよびWebソース・モジュールに対して問合せまたはプロシージャ・コールを実行するためのプロシージャおよびファンクションが含まれています。これは、アプリケーションやパッケージ内やプロシージャ内で、プラグインの開発にも手続き型のPL/SQL処理にも使用できます。
               
プロシージャはいずれも、設定するのにApplication Expressセッションが必要です。Pure SQLまたはPL/SQLコンテキストでは、APEX_SESSIONパッケージを使用して、新しいセッションを初期化します。
               
一般的なコール・シーケンスは、使用されるデータ・ソースによって異なります。
- 
                     
REST対応のSQLデータ・ソース
- 
                           
[オプション]でバインド変数を準備します
- 
                                 
APEX_EXEC.T_PARAMETERS型の変数を作成します - 
                                 
APEX_EXEC.ADD_PARAMETERとのバインド値を追加します 
 - 
                                 
 - 
                           
リモート問合せコールを実行します
- 
                                 
APEX_EXEC.OPEN_REMOTE_SQL_QUERYをコールします 
 - 
                                 
 - 
                           
結果列名の列索引を取得します
- 
                                 
APEX_EXEC.OPEN_WEB_SOURCE_QUERYをコールします 
 - 
                                 
 - 
                           
結果セットが使い果たされるまでループします
- 
                                 
APEX_EXEC.NEXT_ROWをコールします 
 - 
                                 
 - 
                           
位置により各列の列値を取得します
- 
                                 
APEX_EXEC.GET_VARCHAR2、APEX_EXEC.GET_NUMBER、APEX_EXEC.GET_DATE、...をコールします 
 - 
                                 
 - 
                           
最後に必ず問合せコンテキストを閉じます - 重要
- 
                                 
APEX_EXEC.CLOSEをコールします 
 - 
                                 
 
 - 
                           
 - 
                     
Webソース・モジュール
- 
                           
[オプション]でWebソース・パラメータ変数を準備します
- 
                                 
APEX_EXEC.T_PARAMETERS型の変数を作成します - 
                                 
APEX_EXEC.ADD_PARAMETERとのバインド値を追加します 
 - 
                                 
 - 
                           
Webソースに渡すフィルタを準備します(Webソースでサポートされている場合)
- 
                                 
APEX_EXEC.T_FILTERS型の変数を作成します - 
                                 
APEX_EXEC.ADD_FILTERとのバインド値を追加します 
 - 
                                 
 - 
                           
Webソースに渡すORDER BY式を準備します(Webソースでサポートされている場合)
- 
                                 
APEX_EXEC.T_ORDER_BYS型の変数を作成します - 
                                 
APEX_EXEC.ADD_ORDER_BYとのバインド値を追加します 
 - 
                                 
 - 
                           
リモート問合せコールを実行します
- 
                                 
APEX_EXEC.OPEN_WEB_SOURCE_QUERYをコールします - 
                                 
事前に準備したフィルタ、ORDER BYおよびパラメータを渡します
 
 - 
                                 
 - 
                           
結果列名の列索引を取得します
- 
                                 
APEX_EXEC.GET_COLUMN_POSITIONをコールします 
 - 
                                 
 - 
                           
結果セットが使い果たされるまでループします
- 
                                 
APEX_EXEC.NEXT_ROWをコールします 
 - 
                                 
 - 
                           
位置により各列の列値を取得します
- 
                                 
APEX_EXEC.GET_VARCHAR2、APEX_EXEC.GET_NUMBER、APEX_EXEC.GET_DATE、...をコールします 
 - 
                                 
 - 
                           
最後に必ず問合せコンテキストを閉じます - 重要
- 
                                 
APEX_EXEC.CLOSEをコールします 
 - 
                                 
 
 - 
                           
 
注意:
いつでもAPEX_EXEC.CLOSEをコールできるように、必ずプロシージャまたはファンクションに例外ハンドラを追加してください。これは、データベース・カーソルや一時LOBなどのサーバー・リソースを解放するうえで重要です。
                  
- グローバル定数
 - データ型
 - ADD_COLUMNプロシージャ
 - ADD_DML_ROWプロシージャ
 - ADD_FILTERプロシージャ
 - ADD_ORDER_BYプロシージャ
 - ADD_PARAMETERプロシージャ
 - CLEAR_DML_ROWSプロシージャ
 - CLOSEプロシージャ
 - COPY_DATAプロシージャ
 - EXECUTE_DMLプロシージャ
 - EXECUTE_PLSQLプロシージャ
 - EXECUTE_REMOTE_PLSQLプロシージャ
 - EXECUTE_WEB_SOURCEプロシージャ
 - GETファンクション
 - GET_COLUMNファンクション
 - GET_COLUMN_COUNTファンクション
 - GET_COLUMN_POSITIONファンクション
 - GET_DATA_TYPEファンクション
 - GETファンクション
 - GET_DML_STATUS_CODEファンクション
 - GET_DML_STATUS_MESSAGEファンクション
 - GET_PARAMETERファンクション
 - GET_ROW_VERSION_CHECKSUMファンクション
 - GET_TOTAL_ROW_COUNTファンクション
 - HAS_ERRORファンクション
 - IS_REMOTE_SQL_AUTH_VALIDファンクション
 - NEXT_ROWファンクション
 - OPEN_LOCAL_DML_CONTEXTファンクション
 - OPEN_REMOTE_DML_CONTEXTファンクション
 - OPEN_REMOTE_SQL_QUERYファンクション
 - OPEN_QUERY_CONTEXTプロシージャ
 - OPEN_QUERY_CONTEXTファンクション
 - OPEN_WEB__SOURCE_DML_CONTEXTファンクション
 - OPEN_WEB_SOURCE_QUERYファンクション
 - PURGE_WEB_SOURCE_CACHEプロシージャ
 - SET_NULLプロシージャ
 - SET_VALUEプロシージャ
 - SET_VALUESプロシージャ
 - SET_ROW_VERSION_CHECKSUMプロシージャ