Re: Triggers con argumentos

From: Jaime Casanova <systemguards(at)yahoo(dot)com>
To: "Mario A(dot) Soto Cordones" <mario_soto(at)venezolanadeavaluos(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Triggers con argumentos
Date: 2004-11-06 19:16:24
Message-ID: 20041106191624.36115.qmail@web50010.mail.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola Mario,

Lo primero que te voy a recomendar antes que te metas
con el sistema de reglas es usar una funcion en vez de
un trigger.

CREATE OR REPLACE FUNCTION funcion_act_tabla2(..todos
los parametros que quieras..) RETURNS VOID AS '
declare
begin

insert into tabla1 values($1, $2, ....);

update tabla2 set nombre = "el parametro que pasastes"
where .. tus condiciones ..;

end;
'LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT
SECURITY INVOKER;

Piensa en esta opcion primero.

La opcion con el sistema de reglas implica crear una
tabla con los campos del insert y los campos
adicionales que necesites.

y luego crear una regla de este tipo:

create rule regla_para_el_insert AS
ON INSERT TO tabla_nueva [WHERE ...]
DO INSTEAD (
INSERT into tabla1 VALUES (new.campo1, new.campo2
...);
UPDATE tabla2 SET nombre = new.campo_para_update
WHERE ....;
)

Si te fijas es lo mismo que usar una funcion pero tu
solo te preocupas de hacer un insert con la funcion
debes ejecutarla haciendo "select
funcion(parametros);"

Yo tuve un problema similar y sinceramente pienso que
usar la funcion es mas facil, mas practico, etc., etc,
etc.

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

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Mario A. Soto Cordones 2004-11-06 19:18:45 Re: Triggers con argumentos
Previous Message Alvaro Herrera 2004-11-06 16:24:17 Re: ayuda con pg_connect