Considerations
• To delete rows, you must own the table or have delete permission.
• Do not mix range variables with table names in a delete statement: the resulting disjoint query gives unexpected results. The following example illustrates a disjoint query; the table name following the keyword delete is not the same as the range variable specified in the where clause. All rows are deleted as a result of this disjoint query.
Wrong:
range of e is employee
delete employee where e.salary > 35000
• After deleting a large number of rows from a table, you can use the modify statement to recover empty space. To delete all rows in a table, you can use the modify
tablename to truncated. For more information, see
Modify Statement—Change Table or Index Properties.