Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL リファレンス » SQL の使用 » SQL 文 » SQL 文 (A ~ D)

 

DELETE (位置付け) 文 [ESQL] [SP]

この文は、カーソルの現在の位置でデータを削除するために使用します。

構文
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;