この文は、カーソルの現在の位置でデータを削除するために使用します。
DELETE [ FROM table-spec ] WHERE CURRENT OF cursor-name
cursor-name : identifier | hostvar
table-spec : [ owner.]correlation-name
owner : identifier
この形式の DELETE 文は、指定されたカーソルの現在のローを削除します。現在のローは、カーソルからフェッチされた最後のローと定義されます。
ローを削除するテーブルは次のように決定します。
FROM 句が含まれない場合、カーソルは単一テーブルだけにあります。
カーソルがジョインされたクエリ用の場合 (ジョインがあるビューの使用を含めて)、FROM 句が使われます。指定したテーブルの現在のローだけが削除されます。ジョインに含まれた他のテーブルは影響を受けません。
FROM 句が含まれ、テーブル所有者が指定されない場合、table-spec がどの相関名に対しても最初に一致します。
相関名がある場合、table-spec は相関名で識別されます。
相関名がない場合、table-spec はカーソルのテーブル名として明確に識別可能にします。
FROM 句が含まれ、テーブル所有者が指定されている場合、table-spec はカーソルのテーブル名として明確に指定できるようにします。
位置付け DELETE 文はビューでカーソルを開くときに使用できます。ただし、ビューが更新可能である場合にかぎられます。
カーソル内で使用されるテーブルに対する DELETE パーミッションが必要です。
なし
SQL/2003 コア機能。ansi_update_constraints オプションが Off に設定されている場合、更新可能なカーソルの範囲にはベンダ拡張が含まれます。
次の文は、データベースから現在のローを削除します。
DELETE WHERE CURRENT OF cur_employee; |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |