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

Re: AYUDA trigger no salgo del problema

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: AYUDA trigger no salgo del problema
Date: 2005-07-28 19:03:56
Message-ID: 200507281603.57084.martin@bugs.unl.edu.ar (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
El Jue 28 Jul 2005 12:28, P(at)blo Villad@ escribió:
> Hola a todos de nuevo
> Soy nuevo en este cuento de los Triggers
> 
> Muchas Gracias por la respuesta
> La verdad no dan solucion a mis problemas
> 
> Lo q pasa es que tengo dos tablas
> 
> CREATE TABLE cargo_dependencia (
>     codigo character varying(2) NOT NULL,
>     dependencia character varying(30),
>     cargo character varying(30),
>     nplazas smallint
> );
> 
> CREATE TABLE contrato (
>     numero character varying(2) NOT NULL,
>     nombre character varying(30),
>     cargo character varying(2) NOT NULL
> );

Deberias forzar la dependencia de las dos tablas con up PK y un FK:

ALTER TABLE cargo_dependencia ADD PRIMARY KEY (codigo);
ALTER TABLE contrato ADD FOREIGN KEY cargo REFERENCES 
		cargo_dependencia (codigo);

> 
> CREATE OR REPLACE FUNCTION plazas() RETURNS TRIGGER AS $contrato_plazas$
> 
> BEGIN
>         IF (TG_OP = 'INSERT') THEN
> 
>                 UPDATE cargo_dependencia SET nplazas=nplazas-1 where
>                 Cargo=NEW.Cargo; 
>                 --UPDATE contrato SET descuento=descuento-1 where
>                 --nombre_cafe=NEW.nombre_cafe;
> 
>         RETURN NEW;
>         END IF;
>         RETURN OLD;
>         END;
> 
> 
> $contrato_plazas$ LANGUAGE plpgsql;

> CREATE TRIGGER descuento_plazas
> AFTER INSERT ON contrato
> FOR EACH ROW EXECUTE PROCEDURE plazas();
> 
> y no me funciona

Que te dicen los logs?

-- 
select 'mmarques' || '@' || 'unl.edu.ar' AS email;
---------------------------------------------------------
Martín Marqués          |   Programador, DBA
Centro de Telemática	|     Administrador
               Universidad Nacional
                    del Litoral
---------------------------------------------------------

In response to

pgsql-es-ayuda by date

Next:From: Martín MarquésDate: 2005-07-28 19:17:06
Subject: Re: establecer conexion con otro usuario diferente a postgres
Previous:From: Hugo GamarraDate: 2005-07-28 18:49:54
Subject: RE: Bloquear registros

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