Versions Compared

Key

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

[ Image Removed |../../index.htm#lansa/fetch_e.htm]
現在地:

...

7.59.2 FETCH の使用例

...

例1:ファイルCUSTMST内で、キー#CUSNUMを持つレコードからフィールド#NAME、#ADDL1、および#POSTCDを取得します。

   FETCH       FIELDS(#NAME #ADDL1 #POSTCD) FROM_FILE(CUSMST)

...

 WITH_KEY(#CUSNUM)

...

または、以下のように指定しても同じ結果になります。  または、以下のように指定しても同じ結果になります。

   GROUP_

...

BY    NAME(#CUSTOMER)

...

 FIELDS(#NAME #ADDL1 #POSTCD)
FETCH       FIELDS(#CUSTOMER)

...

 FROM_FILE(CUSMST)

...

 WITH_KEY(#CUSNUM)

...


例2:有効な税コードのテーブルから税率例2:有効な税コードのテーブルから税率(#TAXRATE)を取得します。テーブルと照合する最初のキーは税タイプ(この例では常に「所得税」)、2番目のキーは税コード(#TAXCDE)です。 FETCH    FIELDS

   FETCH    FIELDS(#TAXRATE)

...

 FROM_FILE(TAXTAB)

...

 WITH_KEY('INCOME'

...

 #TAXCDE)

 
例3:明細行ファイル内で、#QUANTITYフィールドが10より大きい最初の注文の製品番号例3:明細行ファイル内で、#QUANTITYフィールドが10より大きい最初の注文の製品番号(#PRODUCT)を取得します。 FETCH    FIELDS

   FETCH    FIELDS(#PRODUCT)

...

 FROM_FILE(ORDLIN)

...

 WHERE('

...

#QUANTITY > 10')

 
例4:GLTRANSというファイルからすべての元帳トランザクションの明細を読み取り、印刷します。各トランザクションには会社番号例4:GLTRANSというファイルからすべての元帳トランザクションの明細を読み取り、印刷します。各トランザクションには会社番号(#COMPNO)が関連付けられています。ファイルCOMPANYから実際の会社名(#COMPNAME)を取得し、これをレポートに含めます。

   GROUP_

...

BY  NAME(#REPORTLIN)

...

 FIELDS(#TRANSNUM #TRANSTYP #TRANSVAL #COMPNO #COMPNAME)
SELECT    FIELDS(#REPORTLIN)

...

 FROM_FILE(GLTRANS)

...


FETCH     FIELDS(#COMPNAME)

...

 FROM_FILE(COMPANY)

...

 WITH_KEY(#COMPNO)

...

 KEEP_LAST(15)

...


UPRINT    FIELDS(#REPORTLIN)

...


ENDSELECT
ENDPRINT

GLTRANSに10,000個のトランザクションが含まれ、会社数が15 (または15未満)の場合、このプログラムが実行するデータベースI/O操作は最大でも10,015回です。FETCHコマンドのKEEP_LASTパラメータを省略した場合は、20,000回のI/O操作が実行され、実行時間が2倍になる可能性があります。 例5:キー#CUSNUMを使用して、現在アクティブなバージョンのファイルCUSMSTからすべてのフィールドを取得します。
FETCH       FIELDS


例5:キー#CUSNUMを使用して、現在アクティブなバージョンのファイルCUSMSTからすべてのフィールドを取得します。

   FETCH       FIELDS(*ALL)

...

 FROM_FILE(CUSMST)

...

 WITH_KEY(#CUSNUM)

...


例6:現在アクティブなバージョンのファイルCUSMSTからすべての実フィールドを取得しますが、住所情報は除外します。 例6:現在アクティブなバージョンのファイルCUSMSTからすべての実フィールドを取得しますが、住所情報は除外します。

   GROUP_

...

BY    NAME(#XG_ADDR)

...

 FIELDS(#ADDL1 #ADDL2 #ADDL3 #POSTCD)
FETCH       FIELDS(*ALL_

...

REAL *EXCLUDING #XG_ADDR)

...

 FROM_FILE(CUSMST)

...

 WITH_KEY(#CUSNUM)

...