DELETE [RECORD] [IN] [STATEMENT] [(r)]
|
このドキュメントでは、次のトピックについて説明します。
構文図で使用されている記号については、「構文記号」を参照してください。
関連ステートメント:ACCEPT/REJECT | AT BREAK | AT START OF DATA | AT END OF DATA | BACKOUT TRANSACTION | BEFORE BREAK PROCESSING | END TRANSACTION | FIND | GET | GET SAME | GET TRANSACTION DATA | HISTOGRAM | LIMIT | PASSW | PERFORM BREAK PROCESSING | READ | RETRY | STORE | UPDATE
関連機能グループ:データベースへのアクセスと更新
DELETE ステートメントは、データベースからレコードを削除するために使用します。
DELETE ステートメントを使用すると、対応する FIND や READ ステートメントで選択した各レコードは排他的ホールド状態になります。
レコードのホールドロジックの詳細については、『プログラミングガイド』の「データベース更新 - トランザクション処理」セクションを参照してください。
DELETE ステートメントは、FIND、READ、または GET ステートメントと同じ行に指定することはできません。
| 構文要素 | 説明 |
|---|---|
(r) |
ステートメント参照:
表記 ステートメント参照の指定がない場合、 |
| SQL データベース |
ほとんどの SQL データベースでは、 |
|---|---|
| XML データベース | DELETE ステートメントは、データベースから XML オブジェクトを削除するために使用します。XML データベースでは、最後に読み取られたレコードのみを削除できます。
|
この例では、ALDEN を含むレコードがすべて削除されます。
** Example 'DELEX1': DELETE
**
**
CAUTION: Executing this example will modify the database records!
************************************************************************
DEFINE DATA LOCAL
1 EMPLOY-VIEW VIEW OF EMPLOYEES
2 NAME
END-DEFINE
*
FIND EMPLOY-VIEW WITH NAME = 'ALDEN'
/*
DELETE
END TRANSACTION
/*
AT END OF DATA
WRITE NOTITLE *NUMBER 'RECORDS DELETED'
END-ENDDATA
END-FIND
END
VEHICLES ファイルで ALDEN という名前の人物が見つからない場合は、ALDEN の EMPLOYEE レコードが削除されます。
** Example 'DELEX2': DELETE
**
**
CAUTION: Executing this example will modify the database records!
************************************************************************
DEFINE DATA LOCAL
1 EMPLOY-VIEW VIEW OF EMPLOYEES
2 PERSONNEL-ID
2 NAME
1 VEHIC-VIEW VIEW OF VEHICLES
2 PERSONNEL-ID
END-DEFINE
*
EMPL. FIND EMPLOY-VIEW WITH NAME = 'ALDEN'
/*
VEHC. FIND VEHIC-VIEW WITH PERSONNEL-ID = PERSONNEL-ID (EMPL.)
IF NO RECORDS FOUND
/*
DELETE (EMPL.)
/*
END TRANSACTION
END-NOREC
END-FIND
/*
END-FIND
END