From: | "antispam" <antispam(at)inegi(dot)gob(dot)mx> |
---|---|
To: | <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Fw: Triggers con argumentos |
Date: | 2004-11-08 15:12:42 |
Message-ID: | 019f01c4c5a5$662ac050$fd05140a@inegi.gob.mx |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
----- Original Message -----
From: <Symantec_Mail_Security_for_SMTP(at)inegi(dot)gob(dot)mx>
To: <pgsql-es-ayuda(at)postgresql(dot)org>
Sent: Friday, November 05, 2004 5:07 PM
Subject: Re: [pgsql-es-ayuda] Triggers con argumentos
--- "Mario A. Soto Cordones"
<mario_soto(at)venezolanadeavaluos(dot)com> escribi:
> Hola Alvaro, lo que quiero hacer es lo siguiente:
>
> Actualizar 1 tabla a partir de otra tabla, pero
> estas no tienen relacion
> entre si, por lo que no puedo utilizar referencia de
> integridad, sino
> fuera sencillo porque le creo una FK y gatillo en
> evento ON UPDATE. Pero
> este no es mi caso:
>
> 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;
>
>
Hasta aqui no veo para que necesitas los parametros en
el trigger.
>
> En sintesis lo que quiero hacer es que cuando
> actualice la tabla1, se
> actualicen algunos campos
> de la tabla 2.
>
Esa es la idea de crear un trigger.
>
> CREATE TRIGGER trigger_fk_pns_ug
> AFTER INSERT OR UPDATE ON t_pns
> FOR EACH ROW
> EXECUTE PROCEDURE func_fk_temporal_trigger
> ('t_pns', 'ug', 't_ug', 'id');
>
>
> CREATE TRIGGER trigger_fk_ug_pns
> AFTER DELETE OR UPDATE ON t_ug
> FOR EACH ROW
> EXECUTE PROCEDURE func_fk_temporal_trigger
> ('t_pns', 'ug', 't_ug', 'id');
>
>
> CREATE TRIGGER trigger_fk_pnspar_pns
> AFTER INSERT OR UPDATE ON t_pnspar
> FOR EACH ROW
> EXECUTE PROCEDURE func_fk_temporal_trigger
> ('t_pnspar', 'pns',
> 't_pns', 'id');
>
>
> CREATE TRIGGER trigger_fk_pnspar_par
> AFTER DELETE OR UPDATE ON t_pnspar
> FOR EACH ROW
> EXECUTE PROCEDURE func_fk_temporal_trigger
> ('t_pnspar', 'par',
> 't_par', 'id');
>
Fijate que en todos los casos los paramtros son una
cadena de caracteres constante, no son valores que van
a variar dinamicamente.
Atentamente,
Jaime Casanova
_________________________________________________________
Do You Yahoo!?
Informacin de Estados Unidos y Am rica Latina, en Yahoo! Noticias.
Vistanos en http://noticias.espanol.yahoo.com
---------------------------(end of broadcast)---------------------------
TIP 7: no olvides aumentar la configuraci n del "free space map"
From | Date | Subject | |
---|---|---|---|
Next Message | antispam | 2004-11-08 16:36:26 | Fw: Triggers con argumentos |
Previous Message | Victor Manuel Cabañas García | 2004-11-08 14:55:23 | Re: Informacion |