В PostgreSQL команда DROP TRIGGER
используется для удаления триггера из базы данных. После удаления триггер больше не будет выполняться при изменении данных в таблице.
Синтаксис
DROP TRIGGER [IF EXISTS] имя_триггера ON имя_таблицы [CASCADE | RESTRICT];
IF EXISTS
— предотвращает ошибку, если триггер отсутствует.CASCADE
— удаляет триггер вместе со связанными объектами.RESTRICT
— запрещает удаление, если триггер связан с другими объектами (по умолчанию).
Удаление существующего триггера
Пример удаления триггера user_update_trigger
из таблицы users
:
DROP TRIGGER user_update_trigger ON users;
Удаление триггера, если он существует
Если неизвестно, существует ли триггер, можно использовать IF EXISTS
:
DROP TRIGGER IF EXISTS user_update_trigger ON users;
Удаление триггера с зависимостями
Если триггер связан с другими объектами, а его удаление необходимо вместе с ними, применяется CASCADE
:
DROP TRIGGER user_update_trigger ON users CASCADE;
Запрет удаления при наличии зависимостей
Если триггер связан с другими объектами, но не должен быть удалён вместе с ними, используется RESTRICT
:
DROP TRIGGER user_update_trigger ON users RESTRICT;
Если триггер имеет зависимости, PostgreSQL выдаст ошибку и не выполнит удаление.