loadTable()

sqlLib.loadTable() システム関数は、ファイルからリレーショナル・データベースにデータをロードします。この関数は、EGL により作成された Java™ プログラムに対してのみ使用可能です。

リレーショナル・データベース表から情報をアンロードしてファイルに挿入するには、 sqlLib.unloadTable() 関数を使用します。

構文

  sqlLib.loadTable(
    fileName STRING in,
    insertIntoClause STRING in
    [, delimiter STRING in
    ])
fileName
データをロードする元のファイルの名前。名前は、絶対パスによるファイル名か、またはプログラムが起動されたディレクトリーを基準にした相対パスによるファイル名です。
insertIntoClause
データがあるテーブルおよび列を指定します。次の例のように、SQL INSERT 文で INSERT 文節の構文を使用します。
  "INSERT INTO myTable(column1, column2)"
ファイルで、すべてのテーブル列の値が列の順序で含まれている場合、次のようなサンプルの文節で十分です。
  "INSERT INTO myTable"
delimiter
ファイル内のある値を次の値から分離するために使用する記号を指定します。 (1 つのデータ行と次の行は、改行文字で区切る必要があります。)

delimiter のデフォルト・シンボルは、vgj.default.databaseDelimiter Java ランタイム・プロパティー内の値です。 また、このプロパティーのデフォルト値はパイプ (|) です。

以下の記号は使用できません。
  • 16 進文字 (0 から 9、a から f、A から F)
  • 円記号 (¥)
  • 改行文字または Ctrl+J
詳しくは、例を参照してください。

次の例では、タブ文字 (ASCII の 10 進 9 値) を文字に格納してから、その文字を区切り文字として使用します。

  myTabChar CHAR(1) = strLib.intAsChar(9);
  sqlLib.loadTable("myDataFile.txt", "INSERT INTO myTable", myTabChar);    

空ストリングおよび NULL

sqlLib.loadTable() 関数または sqlLib.unloadTable() 関数によってアクセスされるファイル内では、長さゼロのストリングは「¥」文字とそれに続くブランクで表現され、NULL は行内の 2 つの区切り文字で表現されます。

例えば、以下のストリングについて考えてみます。区切り文字は「|」文字です。
||¥ | |1234

このストリングには、NULL、長さゼロのストリング、1 つのブランクのストリング、および「1234」が含まれています。

互換性

表 1. sqlLib.loadTable() の互換性に関する考慮事項
プラットフォーム 問題
COBOL 生成 この関数はサポートされていません。

フィードバック