delete

EGL の delete 文は、言語の基本的な「削除」機能を提供します。 この文はファイルからのレコードの除去、リレーショナル・データベースからの行の除去、または階層データベースからのセグメントの除去を行います。

ほとんどの場合、レコードを削除する前に保持しておく必要があります。 レコードを保持するには、get 文とともに forUpdate オプションを使用します。

この文の正確な振る舞いは、レコード変数をステレオタイプ化する方法に応じて異なります (ステレオタイプを参照)。

構文

delete 文の構文図
recordVariable
このレコード変数には、データ・ソースから削除する情報が含まれています。
deleteOptions
レコード変数をステレオタイプ化した際の方法によっては、delete 文をより具体的にするためのいくつかのオプションを使用できる場合があります。 個々のデータ・アクセス・テクノロジーについては、各考慮事項を参照してください。
with explicitCode
レコード変数をステレオタイプ化した際の方法によっては、ここで明示的なコードを指定することができます。 個々のデータ・アクセス・テクノロジーについては、各考慮事項を参照してください。
from listID
このレコード変数と関連付けられているデフォルトのデータ・ソースを操作していない場合は、リスト ID を指定します。 これは、EGL の open 文または get 文で以前に作成したリストを示すためにユーザーが使用した文字ストリングです。 後で delete を実行する場合は、open 文または get 文とともに forUpdate オプションを使用しなければなりません。

以下の例では、表示されたレコードの削除要求をユーザーが実行依頼しています。 プログラムは、レコードを削除する前に、特定の情報を含むレコード変数を取得し、保持する必要があります。

  if (userRequest == "D")
    try
      get myCustomer forUpdate;
      onException(ex AnyException)
        myErrorHandler(ex);   // プログラムを終了する
    end

    try
      delete myCustomer;
      onException(ex AnyException)
        myErrorHandler(ex);
    end
  end

フィードバック