ヘッダーをスキップ
Oracle® OLAP DMLリファレンス
11gリリース2 (11.2)
B61346-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

FILEGET

FILEGETファンクションは、読取り用に開かれているバイナリ以外のファイルのテキストを返します。FILEGETがそのファイルの末尾に達すると、NAを返します。FILEGETで読み取られるすべてのテキストは、データベース・キャラクタ・セットに変換されます。FILEGETは、データベース・キャラクタ・セットで表せないデータを読み取ることはできません。

戻り値

TEXT

構文

FILEGET(fileunit [LENGTH int-expression])

パラメータ

fileunit

FILEOPENファンクションを事前にコールすることによって読取り用に開かれたファイルに割り当てられるINTEGER値。

LENGTH int-expression

FILEGETがファイルから返すバイト数を指定するINTEGER式。入力ファイルで行端文字に達すると、FILEGETは作成中の結果でそのまま新しい行を開始します。LENGTHを省略した場合、FILEGETは、含まれるバイト数にかかわらず1行または1レコードを読み取ります。

使用上の注意

読み取られるバイト数と返されるバイト数の違い

LENGTHで指定する値は、FILEGETファンクションが読み取るバイト数ではなく、返すバイト数を参照します。これらの値は、異なる値になる場合があります。たとえば、読取り対象のファイルにタブ文字が含まれている場合、FILEGETが返すバイト数にはタブ拡張のバイト数も含まれるため(存在する場合)、FILEGETが返すバイト数は、FILEGETが読み取ったバイト数よりも大きくなります。

例7-89 ファイルを読み取るプログラム

引数としてファイル名を取るreadfileという名前のプログラムがあるとします。このプログラムは、ファイルを開いてファイルの各行を読み取り、それをwholetextという名前の複数行のテキスト変数に追加し、ファイルを閉じます。readfileはローカル変数を使用して、ファイル・ユニット番号、および読み取られるとおりにファイルの各行を格納します。

DEFINE wholetext VARIABLE TEXT
LD Multiline text variable
DEFINE readfile PROGRAM
LD Program to store data from a file in a multiline text variable
PROGRAM
VARIABLE fil.unit INTEGER  "Local Var To Store File Unit
VARIABLE fil.text TEXT     "Local Var To Store Single Lines
FIL.UNIT = FILEOPEN(ARG(1) READ)
FIL.TEXT = FILEGET(fil.unit)        "Read The First Line
WHILE fil.text NE NA                "Test For End-of-file
  DO
  wholetext = JOINLINES(wholetext, fil.text)
  fil.text = FILEGET(fil.unit)      "Read The Next Line
  DOEND
FILECLOSE fil.unit
END