RE: AYUDA trigger no salgo del problema

From: "Hugo Gamarra" <hgamarra(at)hacienda(dot)gov(dot)py>
To: "'P(at)blo Villad(at)'" <andresv50(at)hotmail(dot)com>
Cc: "'PostgreSQL'" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: AYUDA trigger no salgo del problema
Date: 2005-07-28 15:41:39
Message-ID: 000701c5938a$d8941340$ef06000a@SSET.GOV.PY
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola!!!

Saludos cordiales,
Hugo Gamarra.

> -----Mensaje original-----
> De: pgsql-es-ayuda-owner(at)postgresql(dot)org [mailto:pgsql-es-ayuda-
> owner(at)postgresql(dot)org] En nombre de P(at)blo Villad@
> Enviado el: Jueves, 28 de Julio de 2005 11:28
> Para: pgsql-es-ayuda(at)postgresql(dot)org
> Asunto: [pgsql-es-ayuda] AYUDA trigger no salgo del problema
>
> 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
> );
>
>
> SELECT * from cargo_dependencia ;
>
> codigo | dependencia | cargo | nplazas
> --------+-------------+------------+---------
> 02 | Mercadeo | Secretaria | 3
> 03 | Derecho | Docente | 4
> 04 | Medicina | Docente | 5
> 01 | Ingenieria | Decano | 2
> 04 | Medicina | Docente | 5
> 01 | Ingenieria | Decano | 2
>
>
> Select * from contrato;
>
> numero | nombre | cargo
> --------+---------+-------
> 01 | Sandra | 01
> 01 | Lorena | 03
> 01 | Johana | 02
> 01 | Diana | 04
> 02 | Marcela | 03
> 03 | Andres | 03
>
>
> ahora necesito que cuando se inserte un nuevo contrato
> en la tabla contratos
>
> INSERT INTO contrato VALUES ('04','Patricia','03');
>
> este contrato pertenece a una dependencia que es la 03
> que corresponde a
>
> codigo | dependencia | cargo | nplazas
> -----------------------------------------------------------
> 03 | Derecho | Docente | 4
>
> se disminuya en 1 el numero de plazas
>
> tengo el siguiente trigger
>
>
> DROP FUNCTION plazas() cascade;
>
>
> 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 cargo_dependencia
SET nplazas= nplazas - 1
Where codigo = NEW.Cargo;

Creo que así debería de funcionar, si no prueba algunas variantes la
idea ya te la han dado :-D

> --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 PUEDO HACER
> AYUDA - AYUDA
> MUCHAS GRACIAS
>
>
>
> ---------------------------(fin del
mensaje)---------------------------
> TIP 6: ¿Has buscado en los archivos de nuestra lista de correo?
>
> http://archives.postgresql.org/pgsql-es-ayuda

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2005-07-28 15:48:03 Re: AYUDA trigger no salgo del problema
Previous Message P@blo Villad@ 2005-07-28 15:28:03 AYUDA trigger no salgo del problema