From: | Jaime Casanova <systemguards(at)yahoo(dot)com> |
---|---|
To: | Fernando Aguada <faguada(at)cpcipc(dot)org>, payna(at)adinet(dot)com(dot)uy |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Triggers desde PgAdmin |
Date: | 2004-11-05 17:01:40 |
Message-ID: | 20041105170140.91201.qmail@web50006.mail.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
--- Fernando Aguada <faguada(at)cpcipc(dot)org> escribió:
> Necesitas crear una funcion disparador
En plpgsql:
CREATE FUNCTION add_one() RETURNS trigger AS '
La funcion recibe argumentos a traves de un arreglo
llamado TG_ARGV, no se le pasan parametros de la forma
ordinaria. Y debe retornar el tipo de dato trigger.
Si es un trigger por insert tienes el record *new* que
representa a la fila que vas a ingresar.
debe terminar en return new;
Si es un trigger por update tienes el record *old* que
representa a la fila antes de los cambios y el record
*new* que representa a la fila despues de los cambios.
debe terminar en return new;
si termina en return old; el update se cancela
silenciosamente.
Si es un trigger por delete tienes el record *old* que
representa a la fila que vas a borrar.
debe terminar en return old;
> y luego desde el trigger hacer referencia a esa
> funcion.
CREATE TRIGGER name { BEFORE | AFTER } { event [ OR
... ] }
ON table [ FOR [ EACH ] { ROW | STATEMENT } ]
EXECUTE PROCEDURE funcname ( arguments )
Para mas informacion en como crear una funcion para
trigger en lenguaje plpgsql visita:
http://www.postgresql.org/docs/7.4/static/plpgsql-trigger.html
Atentamente,
Jaime Casanova
_________________________________________________________
Do You Yahoo!?
Información de Estados Unidos y América Latina, en Yahoo! Noticias.
Visítanos en http://noticias.espanol.yahoo.com
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2004-11-05 17:06:18 | Re: conexiones |
Previous Message | Patricio Muñoz | 2004-11-05 16:54:42 | Re: conexiones |