Re: pequeña ayuda con triggers y functions

From: Diego Gil <listas(at)adminsa(dot)com>
To: Aldo Quezada <huincha(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: pequeña ayuda con triggers y functions
Date: 2008-05-19 20:25:21
Message-ID: 1211228721.3128.17.camel@roadwarrior.maipucinos.com.ar
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El lun, 19-05-2008 a las 15:40 -0400, Aldo Quezada escribió:
> Hola Lista,
>
> Me presento , me llamo Aldo Quezada, soy de Chile y programo en web
> hace años
>
> tengo unas dudas sobre los trigger y como mandarle datos a los
> procedimientos almacenados ( o function )
>
> mi idea es que cada vez que se haga una actualizacion en una tabla
> ( en este caso 2) , se dispare el trigger(2), este a su vez mande el
> ID del registro que se modifico,
> para que la funcion actualice otro campo de la tabla (2), pero tengo
> tb el problema del loop recursivo, porque actualiza 2 tablas que
> necesito vigilar
> con los trigger y ademas no se como mandarle a las funciones desde el
> trigger los id que se modificaron, si alguien me manda una luz sobre
> esto
> se lo agradeceria.
>
> les informo que estoy trabajando en una base que no puedo modificar el
> diseño que es un asco
>
> saludos
>

No esta muy claro lo que necesitas hacer (para mi al menos) pero debes
tener en cuenta lo siguiente:

. Al definir un trigger se debe especificar ante que evento se dispara:
INSERT o UPDATE por ejemplo y cuando, BEFORE o AFTER. La función trigger
se aplica a cada una de las filas modificadas sin necesidad de enviarle
ningún ID. O sea que si el trigger se ha especificado "BEFORE UPDATE" y
"FOR EACH ROW" y se modifican 3 filas, la función se aplicara a cada una
de las tres filas modificadas y tendrá disponible los datos de la fila
original, OLD, y la modificada (NEW). Se debe terminar la funcion con
RETURN NEW para que los cambios se efectuen.

Alli haces lo que necesites con cualquiera de los campos de la fila.
Solo bastaría que hagas NEW.campo = XXX para modificar los datos del
campo.

Lo que no tengo en claro es cual es la relación entre ambas tablas.

Saludos,
Diego.

>
>
>
>
> --
> アルド ファビアン ケサダ ベアス
> あるど ふぁびあん けさだ べあす
>
> Al sentir una gran tristeza te das cuenta que la alegría es el mejor
> remedio para seguir adelante.
>
> ¿En qué se parece un cigarro,una cerveza, medicamentos y Michale
> Jackson?
> Todo eso hay que mantenerlo fuera del alcance de los niños.

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Rodriguez Fernando 2008-05-19 20:34:53 Re: Postgres se pasma!!
Previous Message Aldo Quezada 2008-05-19 19:40:40 pequeña ayuda con triggers y functions