Removes one or more rows from a table.
There are four forms of the DELETE statement:
| Form | Description |
|---|---|
| Basic | Removes one or more rows from table. ANSI-compliant. Use for DELETE statement that references single table or references tables other than the one from which rows are to be deleted only by subqueries in condition. |
| Datalake | Removes one or rows from a Datalake table. See DELETE (Datalake Form). |
| Join Condition | Removes rows from table when WHERE condition references columns in tables other than the one from which rows are to be deleted. That is, if WHERE condition includes subquery or references derived table. |
| Positioned | Invoked from embedded SQL application. See DELETE (Positioned Form). |
| Temporal | See ANSI Temporal Table Support, B035-1186 and Temporal Table Support, B035-1182. |
- DELETE (Temporal Form) in Temporal Table Support, B035-1182
- DELETE (ANSI System-Time Form) in ANSI Temporal Table Support, B035-1186
- DELETE (ANSI Valid-Time Form) in ANSI Temporal Table Support, B035-1186
- DELETE (ANSI Bitemporal Table Form) in ANSI Temporal Table Support, B035-1186
ANSI Compliance
The basic form of DELETE is ANSI SQL:2011-compliant with extensions.
The join condition form of DELETE is a Teradata extension to the ANSI SQL:2011 standard.
Required Privileges
You must have the DELETE privilege on the table.
If the DELETE statement specifies WHERE conditions, you must also have the SELECT privilege on all tables and on views through which the tables are referenced.
Use caution when granting the privilege to delete data through a view. Data in fields that may not be visible to the user is also deleted when a row is deleted through a view.