Page History
...
例外として、 WHEREやHAVINGのパラメータ内で使用された場合、"#フィールド"はパラメータ内の唯一の値となります。つまり、この場合は列値を使います。はパラメータ内の唯一の値となります。つまり、この場合は列値を使います。
第2のルールとして、識別子に'#' や ':' がない時は、その識別子がSQL名の場合を除き、列名と解釈されます。SQL名の場合は生成されたコードの中にタイプしたそのままのものが残ります。
...
Group_By(SECTION) はそのまま残され、実際の列名のS_CTION や SectionCodeと一致しません。
このコードを最も順応性のある方法(注 2参照)で修正するには、以下のように名前の先頭に このコードを最も順応性のある方法(注2参照)で修正するには、以下のように名前の先頭に '#' を付けます。
Select_Sql Fields(#SECTION) From_Files((PSLMSTX2)) Group_By(#SECTION)
Add_Entry
Endselect
...
SELECT "EmployeeNumber" FROM "EVDEXLIB"."PersonnelMaster2" GROUP BY "EmployeeNumber"
| Note |
|---|
注1:注意1:'# フィールド' は、生成されたSQLの全てのパラメータで列名が使用されることを意味します。例外として、WHEREやHAVING内で使用される唯一の値のときは、そのフィールドの実行時の内容が生成されます。自由形式のSELECT_SQL - USING パラメータ - はこれに含まれません。このUSINGパラメータを使用した際の動作については、「7.110.1 自由形式のSELECT_SQLのパラメータ」を参照してください。 |
| Note |
|---|
注2:注意2:ここで説明されている'順応性のある方法'とは、Windowsの古い形式の列名の識別子が使用された場合、ジェネレーターは自動的にWindowsと Linuxには"S_CTION" を、そして IBM i には"SECTION" を使用するということです。 |