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

Re: Problema con Funcion y Trigger

From: Martín Marqués <martin(at)bugs(dot)unl(dot)edu(dot)ar>
To: pgsql-es-ayuda(at)postgresql(dot)org
Cc: "P(at)blo Villad(at)" <andresv50(at)hotmail(dot)com>
Subject: Re: Problema con Funcion y Trigger
Date: 2005-07-27 20:47:06
Message-ID: 200507271747.07833.martin@bugs.unl.edu.ar (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
El Mié 27 Jul 2005 17:33, P(at)blo Villad@ escribió:
> 
> tengo una tabla llamada cafe que posee un campo
> el cual debe disminuirse en uno cada vez que se ejecute
> una operacion de insertar sobre la tabla.
> 
> El problema es que para poder realizar esta operacion
> necesito un parametro de la insercion.
> 
> 
> eh intentado hacerlo con un trigger pero la verdad no
> se si sea la manera mas adecuada.
> 
> CREATE OR REPLACE FUNCTION descuentox(varchar) RETURNS TRIGGER AS 
> $descuento_cafex1$
> 
> BEGIN
> 
>    IF (TG_OP = 'INSERT') THEN
> 
>         UPDATE cafe SET descuento=descuento-1 where nombre_cafe=$1;
>    RETURN NEW;
>    END IF;
>    RETURN NULL;
> 
> END;
> 
> $descuento_cafex1$ LANGUAGE plpgsql;
> 
> CREATE TRIGGER cafe_descuento
> AFTER INSERT ON cafe
> FOR EACH ROW EXECUTE PROCEDURE descuentox(varchar);

A ver si aun tengo esto fresco. ;-)

CREATE OR REPLACE FUNCTION descuentox RETURNS TRIGGER AS 
$descuento_cafex1$

BEGIN
   IF (TG_OP = 'INSERT') THEN
        UPDATE cafe SET descuento=descuento-1 where
		nombre_cafe=NEW.nombre_cafe;
   RETURN NEW;
   END IF;
   RETURN NULL;
END;

$descuento_cafex1$ LANGUAGE plpgsql;

CREATE TRIGGER cafe_descuento
AFTER INSERT ON cafe
FOR EACH ROW EXECUTE PROCEDURE descuentox;

Prueba con eso.

-- 
 17:44:51 up 25 days,  2:30,  1 user,  load average: 1.20, 1.09, 0.96
-------------------------------------------------
Lic. Martín Marqués   | SELECT 'mmarques' || 
Centro de Telemática  |     '@' || 'unl.edu.ar';
Universidad Nacional  | DBA, Programador, 
    del Litoral       | Administrador
-------------------------------------------------

In response to

Responses

pgsql-es-ayuda by date

Next:From: Jaime CasanovaDate: 2005-07-27 20:58:13
Subject: Re: Problema con Funcion y Trigger
Previous:From: Mario Jiménez CarrascoDate: 2005-07-27 20:36:34
Subject: Re: Consulta fuera de topico

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