基本形式
{ DELETE | DEL } [ with_isolated_loading ]
[ delete_table_name | correlation_name ]
FROM table_spec
[ WHERE condition | ALL ] [;]
結合条件形式
{ DELETE | DEL } [ with_isolated_loading ]
{ delete_table_name | correlation_name }
[ FROM table_spec [,...] ]
[ WHERE condition | ALL ] [;]
構文要素
- with_isolated_loading
WITH [NO] [CONCURRENT] ISOLATED LOADING
- NOを含めないと、DELETEを同時ロード分離操作として実行できます。
- NOを含めると、DELETEは同時ロード分離操作として実行されません。
- 読みやすくするためにCONCURRENTを含めることができます。
- delete_table_name
- DELETE文によって行を削除するテーブルまたはキュー テーブルを指定します。
- FROM句を指定する場合、delete_table_name仕様はオプションです。delete_table_nameを指定しない場合、FROM句に指定された最初のテーブルのみ削除されます。
- FROM句に相関名を指定する場合、その相関名をdelete_table_nameの代わりに指定する必要があります。
- correlation_name
- オプションのテーブル別名。
- 自己結合に指定されたテーブルごとに相関名を指定しなければなりません。
- ANSIでは、テーブルの別名を相関名または 範囲変数ともいいます。
- table_spec
table_name [ [ AS ] correlation_name ]
- condition
- 削除される行のリストをフィルタする述部。
- 式のオペランドは、定数、または、指定したテーブルまたは他のテーブルのフィールドへの参照となります。述部もスカラーsubqueryを指定できます。詳細は、スカラー サブクエリーおよびDELETE文でスカラー サブクエリーを使用するためのルールを参照してください。
- ALL
- テーブルの中のすべての行が削除されます。
- これはデフォルトであり、WHERE条件が省略された場合に使用されます。
- ALLオプションは、非ANSIのTeradata拡張機能です。
- table_name
- delete_table_nameに、DELETE操作によって行を削除するテーブル、キュー テーブル、またはビューの名前を指定します。
- WHERE句の述部によって参照されるサブクエリーの派生テーブル、結合テーブル、またはビューの名前を指定します。
- delete_tableの行をFROM句の別のテーブルの行と結合し、その結合行について文に指定されたWHERE条件がTRUEと評価される場合、delete_tableの行が削除されます。それ以外の場合は削除されません。
- スカラー サブクエリーを派生テーブルに使用するためのルールについては、DELETE文でスカラー サブクエリーを使用するためのルールを参照してください。
- FROM句を指定しない場合、相関名を使用できません。例: FROM句と相関名を使用した結合条件の削除と例: FROM句を使用しない結合条件の削除を比較します。
- また、すべての外部テーブルの名前(行が削除されるテーブルを含む)を指定する必要があります。