Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

FROM_FILES

IO_ERROR

IO_STATUS

USING


Anchor
FIELDS
FIELDS
FIELDS

USINGパラメータで指定したSQLコマンドの結果を受け取るフィールドを指定します。

...

SELECT_SQLコマンドでは、タイプBLOBおよびCLOBのフィールドはサポートされません。これらのフィールドを指定すると、コマンドのコンパイル時に致命的エラーが発生します。

Anchor
USING
USING
USING

SQL_SELECTのUSINGパラメータには、有効な任意の「拡張可能な式」を指定できます。文字列を区切る際は一重引用符を使用することをお勧めします。これにより、二重引用符を、SQL識別子を囲むために使用できるようになります。すなわち、文字列リテラルを囲む一重引用符を倍にする必要があります。最初および2番目の例は、SQLリテラルを終了するための最後の一重引用符が異なる方法(''''と"'")で指定されていることを除き、同じ結果になります。4番目の例では、値と引用符を1つの作業フィールド内で指定しています。これが最もわかりやすく保守しやすい方法でしょう。

...

     CHANGE FIELDS(#TABLE) TO('SELECT "CUSTNUM" FROM "XDEMOLIB"."CUSTOMERS" ')
CHANGE FIELDS(#SELECTION) TO('WHERE STATE LIKE ''B!_%'' ESCAPE ''!''')
SELECT_SQL FIELDS(#CUSTNUM") USING(#TABLE + #SELECTION)
        DISPLAY FIELDS(#CUSTNUM)
ENDSELECT
Infonote

注:注意:この例では、エスケープ文字として感嘆符記号を指定していますが、ASCIIテーブルの127以下の任意の「標準」文字を使用できます(文字%、_、[は、すべてのDBMSシステムで使用できるわけではないため、これらの記号の使用はお勧めしません)。  

これは、ASA、DB2400、SQL Server、およびOracleで検査済みです。MS Accessのみが例外で、代わりにエスケープする文字を[]で囲む必要があります。例えば、WHERE "STATE" LIKE 'B[_]%' と指定します。 

...

  1. リテラルをUnicode (UX'ssss') リテラルとして渡します。例えば、以下の指定があるとします。
    'WHERE "UNIFLD" LIKE ''C%'''
    これを以下のように指定します。
    'WHERE "UNIFLD" LIKE UX''00430025''').

  2. SQLファンクションを使用してリテラルまたは列を変換します。これにより、Unicode式になります。例えば、CHARFLD がCharタイプの列の場合、以下の指定があるとします。
    'WHERE "UNIFLD" = "CHARFLD"')
    これを以下のように指定します。
    'WHERE "UNIFLD" = CAST "CHARFLD" AS GRAPHIC(6) CCSID 13488)')

詳細については、IBMマニュアル『DB2 UDB for iSeries SQL Reference』を参照してください。

Anchor
FROM_FILES
FROM_FILES
FROM_FILES

I/Oコマンドでのファイル名の指定を参照してください。

...

. . . FROM_FILES(ORDLIN) 
. . . USING('SELECT * FROM "MYLIB"."ORDLIN", "MYLIB"."ORDDTL" 
. . . . . . WHERE "MYLIB"."ORDLIN"."CUSTNO" = "MYLIB"."ORDDTL"."CUSTNO"')

Anchor
IO_STATUS
IO_STATUS
IO_STATUS

I/O操作の結果の「戻りコード」を受け取るフィールドの名前を指定します。

...

値については、I/O コマンド戻りコード表を参照してください。

Anchor
IO_ERROR
IO_ERROR
IO_ERROR

コマンドの実行時にI/Oエラーが発生した場合に実行するアクションを指定します。

...