[Pgsql-ayuda] Triggers

Gunnar Wolf gwolf@gwolf.cx
Mon, 05 Jan 2004 15:53:01 -0600


Patricio Muñoz dijo [Mon, Jan 05, 2004 at 06:22:13PM -0300]:
> Estimados,
> Tengo una funcion (foo_funcion) escrita en lenguaje Perl dentro de Postgres,
> la cual recibe como parametro un string, lo procesa para luego retornar el
> string modificado. La idea es crear un trigger que automatize la tarea de
> procesar cada string que es insertado en la tabla "foo_tabla". Al momento de
> crear el trigger, arroja el siguiente error:
> ERROR:  CreateTrigger: function foo_funcion() must return TRIGGER.
> 
> La sintaxis del trigger es la sgte:
> 
> CREATE TRIGGER foo_trigger
> BEFORE INSERT OR UPDATE ON foo_tabla
> FOR EACH ROW
> EXECUTE PROCEDURE foo_funcion();
> 
> alguna idea ?

Uggg... No, no vas a poder hacerlo.

http://www.postgresql.org/docs/current/static/plperl-missing.html

     PL/Perl cannot be used to write trigger functions.

Esto es porque PL/Perl no puede ser utilizado para crear funciones que
regresen valores compuestos. Un trigger requiere que la función
regrese el renglón afectado (ya sea NEW u OLD).

Saludos,

-- 
Gunnar Wolf - gwolf@gwolf.cx - (+52-55)5630-9700 ext. 1366
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973  F800 D80E F35A 8BB5 27AF