[Pgsql-ayuda] Trigger y plpgsql

fernando miguel villarroel noriel visuallinux@hotmail.com
Mon, 21 Apr 2003 23:08:15 +0000


  Hola a todos; mi consulta se refiere a los triggers y al uso de plpgsql; 
sucede que estoy comenzando a trabajar y a probar con funciones; bueno de 
acuerdo a lo leido; primero debo dar de alta el lenguage (plpgsql) en mi 
base de datos ejm (prueba) con create language. Bien lo di de alta y lo 
consulte en pg_language.

  Bueno mis problemas comienzan cuando trato de insertar un registro en una 
tabla que posee un trigger (clientes); en concreto el error dice:

fmgr_info:function 16686: cache lookup failed.

  Bueno la funcion llamada por el trigger la retorna opaque y la defini de 
la siguiente manera:
create function ejemplo() returns opaque as 'path al script' language 
'plpgsql'

Bueno con el scrip tambien tengo dudas pues tiene la forma

Begin
    insert into tabla values(getpgusername(),date('now'));
end;
language 'plpgsql'

Pero al consultarlo con psql con la opcion \i ejemplo.sql me da error en 
todas las lineas y me habla de commit; ¿Puedo hacer commit dentro de una 
función?.  Estos errores desaparecen en psql cuando dejo solo el script 
insert....; pero al hacer un insert en clientes me da el error descrito:

fmgr_info:function 16686: cache lookup failed.

  Bueno espero me puedan ayudar a solucionar este problema o que estoy 
haciendo mal y como operar con lenguages procedurales en este caso plpgsql.

Saludos.

Fernando Villarroel N.


_________________________________________________________________
Charla con tus amigos en línea mediante MSN Messenger: 
http://messenger.yupimsn.com/