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

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 (view raw or flat)
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

pgsql-es-ayuda by date

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

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