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 08:05:03
Message-ID: 20041106080503.72898.qmail@web50009.mail.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

--- "Mario A. Soto Cordones"
> Inicialmente la función gatillada por el trigger es
> esta.
>
> CREATE OR REPLACE FUNCTION funcion_act_tabla2" ()
> RETURNS trigger AS'
> declare
> QRY varchar := '''';
> begin
> QRY := ''update tabla2 set tabla2.nombre = '''' ||
> quote_literal(NEW.nb_nombre) || ''''
> where tabla2.empresa= tabla1.co_empresa and
> tabla2.filial =
> tabla1.co_filial and tabla2.codigo =
> tabla1.nu_activo_fijo'';
>
> execute QRY;
> return NEW;
> end;
> 'LANGUAGE 'plpgsql' VOLATILE CALLED ON NULL INPUT
> SECURITY INVOKER;

Hola,

como veras aun en la lista en ingles te daran la misma
respuesta que te hemos dado, pero nuestro objetivo es
ayudarte para eso necesitamos que seas mas claro sigo
sin entender por que crees que necesitas que el
trigger tenga parametros variables.

Por lo que veo haces el update en tabla2 basandote en
el update de tabla1. aunque me parece que la funcion
esta mal escrita, deberia ser algo como:

CREATE OR REPLACE FUNCTION funcion_act_tabla2()
RETURNS trigger AS '
begin
update tabla2 set nombre = NEW.nb_nombre
where empresa = NEW.co_empresa
and filial = NEW.co_filial
and codigo = NEW.nu_activo_fijo;

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

Si aun piensas que necesitas usar parametros variables
existe un truco que te puede servir, pero implica
complicarte un poco la vida con el sistema de reglas
de postgres (el sistema de reglas de postgres es el
que facilita las vistas y las vistas actualizables,
pero NO es standard. es un invento de postgres).
Si quieres avisame y te explico que se puede hacer,
pero recuerda que si existe la posibilidad de que
vayas a migrar a otra DBMS esto no es aconsejable por
que tendras el mismo problema.

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 14:58:31 Re: Triggers con argumentos
Previous Message Carlos Chavez Herrera 2004-11-06 01:04:14 Re: conexiones