GET_LINE ストアドプロシージャは、入力されたファイルハンドルと読み取り長さに基づき、ファイルが最後に読み取られたオフセットから指定された長さのデータを読み取ります。改行文字に遭遇すると停止します。
機能の適用範囲
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity Editionは現在サポートされていません。
構文
UTL_FILE.GET_LINE (
file IN FILE_TYPE,
buffer OUT VARCHAR2,
len IN PLS_INTEGER DEFAULT NULL);
パラメータの説明
パラメータ |
説明 |
|---|---|
| file | 読み取るファイルのファイルハンドル。このファイルは少なくとも r モードで開かれている必要があります。 |
| buffer | 読み取ったデータを格納するための出力パラメータです。ユーザーはこの文字列の長さが別のパラメータ len よりも大きいことを確認する必要があります。 |
| len | 読み取るデータのバイト数です。指定しない場合、システムはファイルを開いたときのパラメータ max_linesize に従って指定します。 |
例外状況
INVALID_FILEHANDLEINVALID_OPERATIONNO_DATA_FOUNDREAD_ERROR
使用方法
ファイルは
rモードで開く必要があります。そうでない場合、INVALID_OPERATION例外が発生します。行をバッファに収納できない場合、
READ_ERROR例外が発生します。ファイル終端でテキストが読み取れない場合、NO_DATA_FOUND例外が発生します。ファイルをバイトモードで開いた場合、INVALID_OPERATION例外が発生します。行終端文字がバッファに読み込まれないため、空行を読むと空文字列が返されます。
FOPENで最大バイト数が指定されていない場合、バッファの最大サイズは32767バイトです。デフォルト値は1024です。