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

Buenos dias lista

From: Paulo Nuñez Valenzuela <paulonunex(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Buenos dias lista
Date: 2009-01-26 14:28:57
Message-ID: d16457e40901260628k543e67d5k5731799e546ae3bb@mail.gmail.com (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Amigos:
Soy nuevo en esta lista me gustaria si me pueden ayudar con el siguiente
tema.
tengo un trigger creado en Oracle y ahora estamos migrando a Postgresql,
bueno mi funcion disparadora es la siguiente

CREATE OR REPLACE FUNCTION SUMA_INGRESO() RETURNS trigger AS $$
BEGIN
IF (TG_OP = 'INSERT') OR (TG_OP = 'UPDATE') THEN
   if new.CGINGRESO_VNETO != 0 then
   update cg_ingegre
      set CGINGEGRE_TINGRE = CGINGEGRE_TINGRE + new.CGINGRESO_VNETO
      where mgempre_cod = new.MGEMPRE_COD
      and CGPRODUCTOR_IDR = new.CGPRODUCTOR_IDR
      and CGFPROC_AAAA = new.CGFPROC_AAAA
      and CGFPROC_MM = new.CGFPROC_MM;
  end if;
end if;

IF (TG_OP = 'DELETE') OR (TG_OP = 'UPDATE') THEN
  if old.CGINGRESO_VNETO != 0 then
   update cg_ingegre
      set CGINGEGRE_TINGRE = CGINGEGRE_TINGRE - old.CGINGRESO_VNETO
       where mgempre_cod = old.MGEMPRE_COD
      and CGPRODUCTOR_IDR = old.CGPRODUCTOR_IDR
      and CGFPROC_AAAA = old.CGFPROC_AAAA
      and CGFPROC_MM = old.CGFPROC_MM;
  end if;
end if;
end;
$$ LANGUAGE plpgsql;

*el trigger que lo llama es:

*  CREATE TRIGGER "ICG_INGRESO"
  AFTER INSERT OR UPDATE OR DELETE
  ON cg_ingreso
  FOR EACH ROW
  EXECUTE PROCEDURE suma_ingreso();

Este trigger no es mas que una suma ascendente.
De antemano muchas gracias amigos

Responses

pgsql-es-ayuda by date

Next:From: Alvaro HerreraDate: 2009-01-26 14:47:04
Subject: funció?==?iso-8859-1?Q?n disparadora (era Re: Buenos dias lista)
Previous:From: CalabazaDate: 2009-01-26 13:31:51
Subject: Re: [pgsql-es-ayuda] Función que retorna la posici?==?ISO-8859-1?Q?ón de un caracter dentro de una cadena

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