Versions Compared

Key

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

...

また「7.109.2 SELECT_SQL の列名と列値」も参照してください。


Anchor
FIELDS
FIELDS
FIELDS

列(フィールド)とそれに関連付けられた「SQLソース」またはファンクションを指定します。 

...

この場合、SQLテーブルの列DEPTMENTがRDML変数#DEPTMENTに返され、SQLテーブルのフィールドSALARYの平均がRDML変数 #VALUE1に返されます。また、合計が#VALUE2に返され、最大値が#VALUE3に返されます。 

Anchor
FROM_FILES
FROM_FILES
FROM_FILES

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

Note

注意: このコマンドで使用するファイル(テーブル)名を最大20個指定できます。

Note

注意: 他のデータベースの外部ファイルにアクセスする場合、LANSAは、外部ファイルをLANSAにロードするために使用されたデータベース接続情報を見つけます。これは、DEFINE_DB_SERVERおよびCONNECT_FILE BIFを使用することによって、さらに洗練することができます。

...

移植性に関する考慮事項

Visual LANSAでは、テーブル名に@#$が使用されません。この変換は、FROM_FILESパラメータに対して行われ、他のパラメータ(WHEREパラメータなど)のテーブル名に対しては行われません。そのため、SQLがすべてのLANSAプラットフォームで動作するようにするには、上記の2番目の例のように、必ず相関を使用してください。

Visual LANSAでは、Visual LANSA外部ファイルを使用して複数のデータベースにアクセスすることができます。Visual LANSA外部ファイルは、SELECT_SQLで使用できますが、すべて同じデータベースのものでなければなりません。Visual LANSA外部ファイルがLANSAファイルと同じデータベースにある場合、同じSELECT_SQLコマンドで2つのファイルを使用できます。

Anchor
WHERE
WHERE
WHERE

SQL_SELECTのWHERE句は、以下に示すように引用符で囲む必要があります。 

...

     CHANGE FIELDS(#SELECTION) TO('STATE LIKE ''B!_%'' ESCAPE ''!''')
Infonote

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

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

...

  1. 比較にLANSAフィールドを使用します。例えば、WHERE('MYUNIGRPH = :STD_TEXT')のように指定します。

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

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

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

Anchor
GROUP_BY
GROUP_BY
GROUP_BY

個々の行ではなく、行のグループの特性を見つけるために使用します。グループ化はソートではなく、選択された各行をグループに追加することであり、グループをSQLで処理することにより、そのグループの特性を導き出すことができます。 

選択された行のグループ化の基準にする列を指定します。1列以上指定する場合、そのデータを分けるためにコンマを使用する必要があります。例:GROUP_BY('EMPTSYEAR,EMPTSWEEK') 

Anchor
HAVING
HAVING
HAVING

GROUP_BY句に基づいて選択されたグループの検索条件を指定するために使用します。HAVINGパラメータによって、この句で指定する条件に適合するグループのみが必要であることを示します。すなわち、HAVING句では、グループに含まれる個々の行のプロパティではなく、各グループのプロパティを検査します。 

HAVING句には、WHEREパラメータで使用できるものと同様の検索条件を指定できます。 

Anchor
ORDER_BY
ORDER_BY
ORDER_BY

選択された行の取得順序を指定するために使用します。ORDER BYパラメータは、GROUP_BYパラメータと同じ方法で使用できます。 

...

例: ORDER_BY('SURNAME,GIVENAME') 

Anchor
DISTINCT
DISTINCT
DISTINCT

SELECT_SQLの結果で重複した行が必要ない場合は、このパラメータに*YESを指定します。 

結果のテーブルで重複した行が必要な場合は、*NOを指定します。 

Anchor
IO_STATUS
IO_STATUS
IO_STATUS

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

...

値については、「I/Oコマンド でのファイル・キー・リストの指定」を参照してください。

Anchor
IO_ERROR
IO_ERROR
IO_ERROR

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

...