プライマリ・コンテンツに移動

Oracle® Application Express APIリファレンス リリース5.1 E85937-02 |
| 目次 | 索引

前 | 次 |

# 30.5 GET_FILESファンクション

このファンクションは、BLOBを格納している指定されたzipファイルのファイル名(パスを含む)の配列を戻します。

構文

    APEX_ZIP.GET_FILES (
        p_zipped_blob IN BLOB,
        p_only_files  IN BOOLEAN DEFAULT TRUE,
        p_encoding    IN VARCHAR2 DEFAULT NULL )
    RETURN t_files;

パラメータ

表30-5 GET_FILESファンクションのパラメータ

パラメータ | 説明
--- | ---
`p_zipped_blob` | これはBLOBを格納しているzipファイルです。
`p_only_files` | `TRUE`に設定すると、戻された配列に空のディレクトリ・エントリが含まれません。`FALSE`に設定すると、空のディレクトリ・エントリが含まれます。
`p_encoding` | これはファイルの圧縮に使用されるエンコーディングです。

戻り値

表30-6 GET_FILESファンクションの戻り値

戻り値 | 説明
--- | ---
t_files | ファイルの名前とパスの表。詳細は、データ型を参照してください。

例

この例では、表からzipファイルを読み取り、解凍してzipファイルの全ファイルを`my_files`に格納します。

    declare
        l_zip_file      blob;
        l_unzipped_file blob;
        l_files         apex_zip.t_files;
    begin
        select file_content
            into l_zip_file
            from my_zip_files
        where file_name = 'my_file.zip';

        l_files := apex_zip.get_files (
                p_zipped_blob => l_zip_file );

        for i in 1 .. l_files.count loop
            l_unzipped_file := apex_zip.get_file_content (
                p_zipped_blob => l_zip_file,
                p_file_name   => l_files(i) );

            insert into my_files ( file_name, file_content )
            values ( l_files(i), l_unzipped_file );
        end loop;
    end;