RE: Trigger

Поиск
Список
Период
Сортировка
Искать
От
Jeff Eckermann
Тема
RE: Trigger
Дата
Msg-id
08CD1781F85AD4118E0800A0C9B8580B094B04@NEZU
Список
Дерево обсуждения
Re: Trigger Feite Brekeveld <feite.brekeveld@osiris-it.nl>
Re: Trigger "Thalis A. Kalfigopoulos" <thalis@cs.pitt.edu>
Use conditional logic in your function:

CREATE FUNCTION set_defval ()
RETURNS opaque AS '
BEGIN
IF NEW.fieldid = ''MODULESTATUS''
THEN NEW.defval := ''OFF'';
END IF;
RETURN NEW;
END;
' LANGUAGE 'plpgsql';

CREATE TRIGGER default_value_set_defval
BEFORE UPDATE ON default_value
FOR EACH ROW EXECUTE PROCEDURE set_defval();

The trigger will fire for all updates, but will be a no-op for all cases
which don't meet your criterion.
This will create a small performance penalty, but probably not enough to be
noticeable.  
I don't think there is a way to have a trigger fire selectively on a given
event.
HTH



> -----Original Message-----
> From:	Andy Samuel [SMTP:andysamuel@geocities.com]
> Sent:	Friday, June 29, 2001 12:39 AM
> To:	pgsql-general@postgresql.org
> Subject:	[GENERAL] Trigger
> 
> How do I create a trigger on a table if a certain row is updated ?
> For example, a table called DefaultValue with :
> ModuleId char(10),
> FieldId char(10),
> DefVal char(3)
> 
> If I update the table 'update DefaultValue set defval='OFF'  where
> FieldId='MODULESTATUS' then it will fire the event.
> 
> Thank you in advance
> Andy
> 
> 
> 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
> 
> http://www.postgresql.org/users-lounge/docs/faq.html
В списке pgsql-general по дате отправления
От: Janning Vygen
Дата:
Сообщение: function cache??
От: Thalis A. Kalfigopoulos
Дата:
Сообщение: Re: Trigger
FAQ