Команда delete

Удаляет строки из таблицы или представления основной таблицы. При выдаче утверждения DELETE включается любой DELETE-триггер, определенный на таблице.

Условия:

Для того, чтобы пользователь мог удалять строки из таблицы, эта таблица должна быть в его схеме, или он должен иметь привилегию DELETE по этой таблице. Для того, чтобы пользователь мог удалять строки из базовой таблицы представления, владелец схемы, содержащей представление, должен иметь привилегию DELETE по этой базовой таблице. Кроме того, если представление находится не в схеме пользователя, ему должна быть назначена привилегия DELETE по этому представлению. Системная привилегия DELETE ANY TABLE также позволяет удалять строки из любой таблицы или базовой таблицы любого представления.

Синтаксис:

 
 

Ключевые слова и параметры:

schema — идентификатор полномочий, обычно совпадающий с именем некоторого пользователя

table view — имя таблицы, из которой удаляются строки; если определяется представление, сервер удаляет строки из основной таблицы представления

subquery — подзапрос, с помощью которого выбираются строки для удаления; сервер выполняет подзапрос и использует строки его результата как таблицу фразы FROM

WHERE — удаляет только строки, которые удовлетворяют условию; условие может ссылаться на таблицу и содержать подзапрос.

Пример 1. Удаление всех строк из таблицы:

DELETE FROM student

Пример 2. Удаление из таблицы всех студентов, у которых размер стипендии меньше 150:

DELETE FROM student WHERE stip < 150

Пример 3. Предыдущий пример можно записать по-другому:

DELETE FROM (SELECT * FROM student) WHERE stip < 150

В начало


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: