unloadTable()

sqlLib.unloadTable() システム関数は、リレーショナル・データベースからデータをファイルにアンロードします。 この関数は、Java™ 生成の場合にのみ使用することができます。

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

構文

  sqlLib.unloadTable(
    fileName STRING in,
    selectStatement STRING in
    [, delimiter STRING in
    ])
fileName
ファイルの名前。名前は、絶対パスによるファイル名か、またはプログラムが起動されたディレクトリーを基準にした相対パスによるファイル名です。
selectStatement
リレーショナル・データベースからデータを選択するための基準を指定します。 ホスト変数を組み込まずに、SQL SELECT 文の構文を使用します。 例えば、次のようになります。
  "SELECT column1, column2 FROM myTABLE 
  WHERE column3 > 10"
delimiter
ファイル内のある値を次の値から分離するために使用する記号を指定します。 (1 つのデータ行と次の行は、改行文字で区切る必要があります。)

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

以下の記号は使用できません。
  • 16 進文字 (0 から 9、a から f、A から F)
  • 円記号 (¥)
  • 改行文字または Ctrl+J

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

  myTabChar CHAR(1) = strLib.intAsChar(9);
  sqlLib.loadTable("myDataFile.txt", 
    "SELECT column1, column2 FROM myTABLE", myTabChar);    

空ストリングおよび NULL

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

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

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

互換性

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

フィードバック