Versions Compared

Key

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

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

...

7.35.3 DELETE の使用例

...

例1:フィールド#ORDNUMに指定された注文を注文頭書きファイルから削除します。

Code Block
DELETE FROM_FILE(ORDHDR)

...

 WITH_KEY(#ORDNUM)


例2:ORDLINという明細行ファイルから明細行番号1、明細行番号2の順に削除します。受注番号は、#ORDNUMというファイルに保持されています。   例2:ORDLINという明細行ファイルから明細行番号1、明細行番号2の順に削除します。受注番号は、#ORDNUMというファイルに保持されています。

Code Block

...

DELETE FROM_FILE(ORDLIN)

...

 WITH_KEY(

...

#ORDNUM 1)
DELETE FROM_FILE(ORDLIN)

...

 WITH_KEY(

...

#ORDNUM 2)

...

数値リテラル1および2をキー値として使用していることに注意してください。

上記の例は、以下のようにコーディングすることもできます。

Code Block

...

CHANGE    FIELD(#I)

...

 TO(1)

...


DOWHILE   COND('

...

#I <= 2')

...


DELETE    FROM_FILE(ORDLIN)

...

 WITH_KEY(

...

#ORDNUM #I)
CHANGE    FIELD(#I)

...

 TO('

...

#I +

...

 1')
ENDWHILE


例3:フィールド#ORDNUMに指定された注文に関連付けられたすべての明細行を削除します。   例3:フィールド#ORDNUMに指定された注文に関連付けられたすべての明細行を削除します。

Code Block

...

DELETE FROM_FILE(ORDLIN)

...

 WITH_KEY(#ORDNUM)

...

このコマンドにより、ファイルから複数のレコードが削除されることに注意してください。


例4:フィールド#ORDNUMに指定された注文に関連付けられたすべての明細行を削除し、次に注文頭書きレコードを削除します。 例4:フィールド#ORDNUMに指定された注文に関連付けられたすべての明細行を削除し、次に注文頭書きレコードを削除します。

Code Block

...

DELETE FROM_FILE(ORDLIN)

...

 WITH_KEY(#ORDNUM)

...


DELETE FROM_FILE(ORDHDR)

...

 WITH_KEY(#ORDNUM)


例5:フィールド#DLTINDの値がYのすべてのレコードをファイルNAMESから削除します。   例5:フィールド#DLTINDの値がYのすべてのレコードをファイルNAMESから削除します。

Code Block

...

DELETE FROM_FILE(NAMES)

...

 WHERE('

...

#DLTIND =

...

 Y')


例6:フィールド#DLTINDの値がYで、フィールド#UPDATEの値が現在の日付より小さいすべてのレコードをファイルNAMESから削除します。   例6:フィールド#DLTINDの値がYで、フィールド#UPDATEの値が現在の日付より小さいすべてのレコードをファイルNAMESから削除します。

Code Block

...

DELETE FROM_FILE(NAMES)

...

 WHERE('(

...

#DLTIND =

...

 Y) AND (#UPDATE < *YYMMDD)')

...

現在の日付がYYMMDD形式(通常は#UPDATEと同じ形式)で保持されるシステム変数*YYMMDDを使用していることに注意してください。
[ Image Removed |../../index.htm#lansa/delete_e.htm]