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.
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 |