Thread: 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 ...