ALTER TRIGGER
ALTER TRIGGER — изменить определение триггера
Синтаксис
ALTER TRIGGERимяONимя_таблицыRENAME TOновое_имяALTER TRIGGERимяONимя_таблицы[ NO ] DEPENDS ON EXTENSIONимя_расширения
Описание
ALTER TRIGGER изменяет свойства существующего триггера.
Предложение RENAME переименовывает данный триггер, не затрагивая его определение. Если таблица, к которой относится триггер, является секционированной, соответствующие «клонированные» триггеры в секциях также переименовываются.
Предложение DEPENDS ON EXTENSION помечает триггер как зависимый от расширения, так что при удалении расширения будет автоматически удаляться и триггер.
Изменять свойства триггера может только владелец таблицы, с которой работает триггер.
Параметры
имяИмя существующего триггера, подлежащего изменению.
имя_таблицыИмя таблицы, с которой работает триггер.
новое_имяНовое имя триггера.
имя_расширенияИмя расширения, от которого будет зависеть триггер (или не будет, если указано
NO). Триггер, помеченный как зависимый от расширения, автоматически удаляется при удалении расширения.
Примечания
Возможность временно включать или отключать триггер предоставляется командой ALTER TABLE, а не ALTER TRIGGER, так как ALTER TRIGGER не позволяет удобным образом выразить указание включить или отключить все триггеры таблицы сразу.
Примеры
Переименование существующего триггера:
ALTER TRIGGER emp_stamp ON emp RENAME TO emp_track_chgs;
Обозначение триггера как зависимого от расширения:
ALTER TRIGGER emp_stamp ON emp DEPENDS ON EXTENSION emplib;
Совместимость
ALTER TRIGGER — реализованное в Postgres Pro расширение стандарта SQL.
См. также
ALTER TABLEALTER TRIGGER
ALTER TRIGGER — change the definition of a trigger
Synopsis
ALTER TRIGGERnameONtable_nameRENAME TOnew_nameALTER TRIGGERnameONtable_name[ NO ] DEPENDS ON EXTENSIONextension_name
Description
ALTER TRIGGER changes properties of an existing trigger.
The RENAME clause changes the name of the given trigger without otherwise changing the trigger definition. If the table that the trigger is on is a partitioned table, then corresponding clone triggers in the partitions are renamed too.
The DEPENDS ON EXTENSION clause marks the trigger as dependent on an extension, such that if the extension is dropped, the trigger will automatically be dropped as well.
You must own the table on which the trigger acts to be allowed to change its properties.
Parameters
nameThe name of an existing trigger to alter.
table_nameThe name of the table on which this trigger acts.
new_nameThe new name for the trigger.
extension_nameThe name of the extension that the trigger is to depend on (or no longer dependent on, if
NOis specified). A trigger that's marked as dependent on an extension is automatically dropped when the extension is dropped.
Notes
The ability to temporarily enable or disable a trigger is provided by ALTER TABLE, not by ALTER TRIGGER, because ALTER TRIGGER has no convenient way to express the option of enabling or disabling all of a table's triggers at once.
Examples
To rename an existing trigger:
ALTER TRIGGER emp_stamp ON emp RENAME TO emp_track_chgs;
To mark a trigger as being dependent on an extension:
ALTER TRIGGER emp_stamp ON emp DEPENDS ON EXTENSION emplib;
Compatibility
ALTER TRIGGER is a Postgres Pro extension of the SQL standard.