DELETE SELECTION

4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次

version 3


DELETE SELECTION {(aTable)}

引数説明
aTableテーブルカレントセレクションを削除するテーブル, または
省略時、デフォルトテーブル

説明

DELETE SELECTIONは、aTableのカレントセレクションのレコードを削除します。カレントセレクションが空の場合、DELETE SELECTIONは何も行いません。レコードが削除された後、カレントセレクションは空になります。トランザクション処理中に削除されたレコードは、トランザクション処理が実行または取り消されるまで、他のユーザや他のプロセスに対してロックされます。

警告: レコードの削除は、恒久的な操作です。削除が実行されると元に戻すことはできません。

テーブルインスペクタのレコードを完全に削除オプションにより、DELETE SELECTION使用時のレコード削除処理を高速にすることができます。

例題

1. 以下の例は[People]テーブルのすべてのレコードを表示します。ユーザはこの中から削除したいものを選択します。この例には2つのメソッドがあります。第1のメソッドはレコードを表示します。第2は削除ボタンのオブジェクトメソッドです。以下は、第1のメソッドです:

   ALL RECORDS ([People])  ` Select all records 
   OUTPUT FORM ([People]; "Listing") ` Set the form to list the records 
   DISPLAY SELECTION ([People])  ` Display all records

次に示すのは削除ボタンのオブジェクトメソッドです。このボタンは出力フォームのフッタエリアにあります。このオブジェクトメソッドでは、セレクションを削除するために、ユーザが選択したレコード (UserSet) を使用します。ユーザがレコードを1件も選択しなかった場合、DELETE SELECTIONは何も行わないという点に注目してください。

      ` 本当にレコードを削除するか確認する
   CONFIRM("You selected "+String(Records in set ("UserSet"))+" people to delete."
                                    +Char(13)+"Click OK to Delete them.")
   If (OK=1)
      USE SET ("UserSet") ` ユーザが選択したレコードを使用
      DELETE SELECTION([People]) ` レコードセレクションを削除
   End if
   ALL RECORDS ([People]) ` すべのレコードを選択

2. DELETE SELECTIONの実行中にロックされたレコードが見つかると、そのレコードは削除されません。ロックされたレコードはすべてLockedSetというセットに納められます。DELETE SELECTIONの実行後、LockedSetを調べて、ロックされているレコードが存在していたかどうかを知ることができます。次は、ループを使用してすべてのレコードを削除します:

   Repeat  ` ロックされたレコードがある限り繰り返す
      DELETE SELECTION([ThisTable])
      If (Records in set("LockedSet")#0) ` ロックされたレコードがあれば
         USE SET ("LockedSet") ` ロックされたレコードのみをセレクションにする
      End if
   Until (Records in set("LockedSet")=0) ` ロックされたレコードがなくなるまで

参照

DISPLAY SELECTION, MODIFY SELECTION, TRUNCATE TABLE, セット, レコードのロック.


4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次