Re: Dos funciones

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Gilberto Castillo Martínez <gilberto(dot)castillo(at)etecsa(dot)cu>
Cc: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Dos funciones
Date: 2008-03-24 15:44:00
Message-ID: 20080324154400.GC5484@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Gilberto Castillo Martínez escribió:
> Y me sigue dando error.
>
>
> CREATE TRIGGER para_grupo
> BEFORE INSERT OR UPDATE
> ON grupos
> FOR EACH ROW
> EXECUTE PROCEDURE inserta_registro(text,text);
>
> La de abajo me responde que las funciones definidas como Trigger ... no
> permiten paso de parametros... ¿porque?

Arriba donde pones "text" deben ir los parametros -- el nombre de la
tabla y el de la columna. Obviamente estos parametros son definidos al
tiempo de creacion del trigger!!

Otra cosa a tener en cuenta es que si quieres construir una sentencia,
debes hacerlo con un string y luego pasarlo a EXECUTE. Por ej.

sql = $s$ insert into "public"."trazas" ("loginname", "fecha_tiempo",
"operacion","nombre_tabla","nombre_columna") values (getpgusername(),
now(), 'INSERT', $s$ || _TABLA || $s$ , $s$ _id_tabla $s$ ); $s$;
execute sql;

Y una tercera observacion que te puedo hacer es que esto que intentas ya
esta escrito -- echa una mirada en pgfoundry.org, proyecto "tablelog".

--
Alvaro Herrera http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Gilberto Castillo Martínez 2008-03-24 16:25:09 Re: Dos funciones
Previous Message Mario Soto 2008-03-24 15:29:28 Re: Probado 8.3.1 con VISTA