[Pgsql-ayuda] return new, return old, trigger

Alvaro Herrera Munoz alvherre@dcc.uchile.cl
Tue, 12 Aug 2003 16:45:24 -0400


On Tue, Aug 12, 2003 at 03:39:37PM -0500, sandrigo lezcano wrote:

>    mmm.. era solo.. uno de los ejemplos donde
>    tenia un NEW y un OLD juntos y lo q NO
>    entiendo es...  o sea: en una funcion q
>    va a ser usada en un trigger..dentro del
>    "BEGIN ..END;"  esta funcion (el cuerpo)
>    termina con un "return _ALGO_;" ....

En un trigger "BEFORE", puedes retornar NULL y eso va a cancelar el efecto
(por ej. si haces un UPDATE que actualiza cinco tuplas, y tu funcion retorna
NULL para una de ellas, se actualizan solo las otras cuatro, y la quinta
queda tal como estaba antes de UPDATE).

Si no quieres hacer eso, retorna NEW.  No sé lo que pasa si retornas OLD, u
otra tupla cualquiera.

Creo que vamos a tener que ponernos a trabajar para actualizar las
traducciones de los manuales, no les parece?  La gente de doc-postgresql-es
creo que no ha hecho mucho.

-- 
Alvaro Herrera (<alvherre[@]dcc.uchile.cl>)
"El sabio habla porque tiene algo que decir;
el tonto, porque tiene que decir algo" (Platon).