Обсуждение: Trigger Documentation
Hi,
I could not find enough examples about the usage of triggers with
PostgreSQL. Searching in the list files, I found out that there are some
examples in contrib/spi/ directory, but this examples scared me a little
because all the triggers are written in C.
What I need to do now is very simple, I want to make a trigger that check
if some text field is null. If it is, I want to record something on
it. What I was trying (unsuccessfully):
CREATE FUNCTION ins_ip() RETURNS OPAQUE AS '
BEGIN
IF NEW.<field> ISNULL THEN
NEW.<field> := "something";
RETURN NEW;
END;
' LANGUAGE 'plpgsql';
CREATE TRIGGER tr_ponto_ins BEFORE INSERT OR UPDATE ON ponto
FOR EACH ROW EXECUTE PROCEDURE ins_ip();
Ie tryed to put something beetwen quotes, double-quotes, nothing
worked. Will I have to write an enormous trigger in C?
Regards,
Alvaro Nunes Melo
On Fri, 8 Jun 2001 11:55:08 -0300 (BRT) al_nunes@ciclotecnologia.com.br wrote: > What I need to do now is very simple, I want to make a trigger that check > if some text field is null. If it is, I want to record something on > it. What I was trying (unsuccessfully): > CREATE FUNCTION ins_ip() RETURNS OPAQUE AS ' > BEGIN > IF NEW.<field> ISNULL THEN > NEW.<field> := "something"; > RETURN NEW; > END; you're missing two things. 1st. there should be end if 2nd. is should be NEW.<field> := ''something''; btw. it's better to do it with "DEFAULT" statement in create table. depesz -- hubert depesz lubaczewski http://www.depesz.pl/ ------------------------------------------------------------------------ najwspanialszą rzeczą jaką dało nam nowoczesne społeczeństwo, jest niesamowita wręcz łatwość unikania kontaktów z nim ...