Page History
[ |../../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を使用していることに注意してください。
[ |../../index.htm#lansa/delete_e.htm]