| От | Brendan Jurd |
|---|---|
| Тема | Re: Firing triggers based on certain Insert conditions |
| Дата | |
| Msg-id | 37ed240d0701281024s1308f2c3u994a34aefe9ccdac@mail.gmail.com обсуждение |
| Ответ на | Firing triggers based on certain Insert conditions ("Harpreet Dhaliwal" <harpreet.dhaliwal01@gmail.com>) |
| Список | pgsql-general |
On 1/29/07, Harpreet Dhaliwal <harpreet.dhaliwal01@gmail.com> wrote: > > Hi > I have a table in which i have a field named 'source' > A trigger is written on this table. > I want this trigger to fire only when after Insert this field 'source' > has value = 'from', otherwise trigger should not be fired at all. > Just wondering if its really possible? AFAIK you can't prevent the trigger from firing, but you can make the trigger behave differently based on what's in the fields of the new row: CREATE FUNCTION source_insert() RETURNS trigger AS $$ BEGIN IF NEW.source = 'from' THEN /* do stuff */ END IF; RETURN NULL; END; $$ LANGUAGE plpgsql VOLATILE; CREATE TRIGGER post_insert AFTER INSERT ON [your table name] FOR EACH ROW EXECUTE PROCEDURE source_insert(); Regards, BJ
В списке pgsql-general по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера