Re: Triggers desde PgAdmin

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

In response to

Browse pgsql-es-ayuda by date

  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