4.24 INSTALLプロシージャ

このプロシージャを使用すると、アプリケーションをインストールできます。APEX_APPLICATION_INSTALL_INSTALL.SET%プロシージャを使用すると、インストール・パラメータを構成できます。

構文

PROCEDURE INSTALL (
    p_source             IN apex_t_export_files    default null,
    p_overwrite_existing IN BOOLEAN                default false );

パラメータ

表4-5 INSTALLのパラメータ

パラメータ 説明

p_source

ソース・コード。通常のOracle Application Expressアプリケーションの場合は単一レコードを、エクスポート時に分割されたアプリケーションの場合は複数レコードを含む、(名前、内容)という表。

複数のアプリケーションを渡すことはサポートされていません。null (デフォルト)の場合は、以前にGET_INFOに渡されたソースをインポートします。

p_overwrite_existing

false (デフォルト)の場合は、既存のアプリケーションを上書きするのではなく、エラーが発生します。

Raises

  • WWV_FLOW_IMP_PARSER.RUN_STMT_ERROR: 無効な文がソースに含まれています。

  • SECURITY_GROUP_ID_INVALID: 現在のワークスペースはインストール・ワークスペースと競合しています。

  • WWV_FLOW_API.FLOW_ID_RESERVED_FOR_OTHER_WORKSPACE: そのアプリケーションIDは別のワークスペースで使用されています。

  • WWV_FLOW_API.FLOW_ID_RANGE_RESERVED: そのアプリケーションIDは内部使用のために予約されています。

  • WWV_FLOW_API.FLOW_ID_OUT_OF_RANGE: インストールに使用されたアプリケーションIDが有効範囲内ではありません。

  • APPLICATION_ID_RESERVED: そのアプリケーションIDは現在のワークスペースで使用中であり、p_overwrite_existingがfalseに設定されています。

リモートURLからアプリケーションをフェッチし、ワークスペースEXAMPLEで新しいIDと新しいコンポーネントIDオフセットを使用してそれをインストールします。

declare
    l_source apex_t_export_files;
    l_info   apex_application_install.t_file_info;
begin
    l_source := apex_t_export_files (
                    apex_t_export_file (
                         name     => 'f100.sql',
                         contents => apex_web_service.make_rest_request (
                                          p_url         => 'https://www.example.com/apps/f100.sql',
                                          p_http_method => 'GET' )));

    apex_util.set_workspace('EXAMPLE');
    apex_application_install.generate_application_id;
    apex_application_install.generate_offset;
    apex_application_install.install (
         p_source => l_source );
end;