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) |
ステートメント参照:
表記 (r) を指定しなかった場合、 |
---|
DL/I データベース |
GSAM 制限により、 |
---|---|
VSAM データベース | DELETE ステートメントは、VSAM エントリ順データセット(ESDS)に対しては使用できません。
|
SQL データベース |
ほとんどの SQL データベースでは、 |
この例では、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