ヘッダーをスキップ
Oracle OLAP DMLリファレンス
11g リリース1(11.1)
E05732-02
  目次へ
目次
索引へ
索引

戻る
戻る
 
次へ
次へ
 

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ファンクションが読み取るバイト数ではありません。この2つの値は、場合によっては異なる値になることがあります。たとえば、読取り対象のファイルにタブ文字が含まれている場合、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