Skip site navigation (1) Skip section navigation (2)

Dos funciones

From: Gilberto Castillo Martínez <gilberto(dot)castillo(at)etecsa(dot)cu>
To: "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Dos funciones
Date: 2008-03-24 13:55:50
Message-ID: 1206366950.7200.6.camel@gilbertoc-desktop (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Tengo estas dos funciones:


CREATE OR REPLACE FUNCTION inserta_registro()
  RETURNS "trigger" AS
$BODY$
BEGIN
    -- if a trigger insert operation occurs
     IF TG_OP = 'INSERT' THEN
         -- inserto los datos column y asigno el corriente tiempo
           insert into "public"."trazas" ("id_usuario", "fecha",
"operacion","tabla","id_llave_tabla") values (getpgusername(), now(),
'INSERT','Grupos', NEW.id_grupo);
      ELSE              
           insert into "public"."trazas" ("id_usuario", "fecha",
"operacion","tabla","id_llave_tabla") values (getpgusername(), now(),
'UPDATE','Grupos', NEW.id_grupo);
      END IF;
    -- displays the new row on an insert
    RETURN NEW;
END;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE;

*************************************

CREATE OR REPLACE FUNCTION inserta_registro(text, text)
  RETURNS text AS
$BODY$
DECLARE
 _TABLA          alias for $1;
 _id_tabla       alias for $2;
 
BEGIN
    -- if a trigger insert operation occurs
     IF TG_OP = 'INSERT' THEN
         -- inserto los datos column y asigno el corriente tiempo
           insert into "public"."trazas" ("loginname", "fecha_tiempo",
"operacion","nombre_tabla","nombre_columna") values (getpgusername(),
now(), 'INSERT',_TABLA, _id_tabla);
      ELSE              
           insert into "public"."trazas" ("loginname", "fecha_tiempo",
"operacion","nombre_tabla","nombre_columna") values (getpgusername(),
now(), 'UPDATE',_TABLA, _id_tabla);
      END IF;
    -- displays the new row on an insert
    RETURN $1;
END;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE;


Mi intención es llamarlas desde un trigger, la primera me funciona sin
difuculta, pero me resuelve el poder utilizar para todas mis tabla ...
la segunda función es mas o menos lo que deseo hacer... pero esta me da
error al utilizar dentro del trigger .... necesito me ayuden a resolver
el problema.

Saludos,
Gilberto.


Responses

pgsql-es-ayuda by date

Next:From: Jaime Sierra GattornoDate: 2008-03-24 14:01:15
Subject: Re: Se puede hacer ?
Previous:From: Edwin QuijadaDate: 2008-03-24 13:55:20
Subject: RE: Error compilando 8.3.1

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group