Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
カーソルの現在位置のデータを削除します。
DELETE [ [FROM ]table ] WHERE CURRENT OF cursor-name
cursor-name : identifier | hostvar
table : [ owner.]table-or-view [ [ AS ] correlation-name ]
owner : identifier
table-or-view : identifier
correlation-name : identifier
この形式の DELETE 文は、指定されたカーソルの現在のローを削除します。現在のローは、カーソルからフェッチされた最後のローと定義されます。
ローを削除するテーブルは次のように決定します。
FROM 句が含まれない場合、カーソルは単一テーブルだけにあります。
カーソルがジョインされたクエリ用の場合 (ジョインがあるビューの使用を含めて)、FROM 句が使われます。指定したテーブルの現在のローだけが削除されます。ジョインに含まれた他のテーブルは影響を受けません。
FROM 句が含まれている場合は、table によって、カーソル内の更新可能なテーブルが明確に指定されている必要があります。correlation-name が指定されている場合、サーバは基本となるカーソルで指定されている相関名とその相関名を照合しようとします。DELETE 文に相関名が指定されておらず、テーブル所有者が指定されていない場合、サーバは table-or-view と基本となるカーソルの更新可能なテーブルを照合しようとします。table-or-view は最初に相関名に対して照合されます。
相関名が基本となるカーソルに存在する場合、table-or-view は対応する相関名と照合されることがあります。
相関名が存在しない場合、table-or-view はカーソルのテーブル名と明確に一致する必要があります。
FROM 句が含まれており、かつテーブル所有者が指定されている場合、table は基本となるカーソルの更新可能なテーブルと明確に一致する必要があります。
位置付け DELETE 文はビューでカーソルを開くときに使用できます。ただし、ビューが更新可能である場合にかぎられます。
テーブルの所有者であるか、テーブルに対する DELETE 権限を持っている必要があります。
なし
SQL/2008 DELETE 文 (位置付け) は、SQL/2008 標準のコア機能です。Embedded SQL プログラム内から位置付け DELETE 文を使用する機能は、オプションの SQL 言語機能 B031、"Basic dynamic SQL" の一部です。
SQL/2008 では、FROM キーワードは必須ですが、SQL Anywhere ではオプションです。ansi_update_constraints オプションが Off に設定されている場合、更新可能なカーソルの範囲にはベンダー拡張が含まれます。
次の文は、データベースから カーソル cur_employee の現在のローを削除します。
DELETE WHERE CURRENT OF cur_employee;