21.5 UNZIPファンクション
このファンクションは、zipアーカイブからすべてのファイルを抽出および解凍します。
このファンクションは、APEX_APPLICATION_INSTALL
パッケージ内のルーチンでの使用を目的としており、ZIPアーカイブ内のすべてのファイルが、SQLスクリプト(拡張子が.sql
である必要がある)や単純なREADME
ファイルなどのテキスト形式であることが前提となっています。
ZIPファイル内のすべてのテキスト・コンテンツは、UTF-8としてエンコードする必要があります。
構文
APEX_EXPORT.UNZIP (
p_source_zip IN BLOB )
RETURN apex_t_export_file;
パラメータ
表21-5 UNZIPのパラメータ
パラメータ | 説明 |
---|---|
p_source_zip |
zipアーカイブを含むBLOB。 |
戻り値
このファンクションは、ZIPアーカイブ内の各ファイルの名前と内容(テキスト形式に変換されたもの)を含むapex_t_export_file
という表を返します。
例
次の例では、リモートURLからアプリケーション・アーカイブをフェッチし、その中のファイルを抽出し、含まれているアプリケーションのタイプと名前を出力します。
DECLARE
l_zip blob;
l_info apex_application_install.t_file_info;
BEGIN
l_zip := apex_web_service.make_rest_request_b (
p_url => 'https://www.example.com/apps/f100.zip',
p_http_method => 'GET' );
l_info := apex_application_install.get_info (
p_source => apex_export.unzip (
p_source_zip => l_zip ) );
sys.dbms_output.put_line (
apex_string.format (
p_message => q'~
!Type ................. %0
!App Name ............. %1
!~',
p0 => l_info.file_type,
p1 => l_info.app_name,
p_prefix => '!' ));
END;
親トピック: APEX_EXPORT