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

Función para un disparador (control del campo serial)

From: Joac <jgarcil(at)hotmail(dot)com>
To: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Función para un disparador (control del campo serial)
Date: 2010-03-17 13:46:26
Message-ID: COL118-W24583E378C6A7E46FDF20AB72C0@phx.gbl (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Buenas a todos,

En el e-mail que envie sobre el problema que tenía con la modificación del campo serial cuando daba un error, he modificado la función pero sale un mensaje de error pero el indice del campo serial lo modifica correctamente, pero el error que sale es el siguiente: la consulta no tiene un destino para los datos de resultado. Si se quiere descartar los resultados de una select, utilice PERFORM y me indica la línea donde está ubicada la consulta que es un  SELECT last_value INTO ultimo FROM salida_salcod_seq; Como ya he utilizado el SELECT INTO pero desde una tabla que controlaba un contador y no me dá problemas tendré que obtar por crear una tabla que lleve el contador por no utilizar los OID's.

Saludos,
Joac

    conta entrada.entsto%TYPE;
    ultimo integer;
BEGIN

    -- Modificar el campo entrada Stock con las salidas que vayan produciendose.

    Select entsto into conta from entrada where entpar=new.entpar;

    IF conta = 0 THEN
        SELECT last_value INTO ultimo FROM salida_salcod_seq;
        SELECT setval('salida_salcod_seq',ultimo-1);
        RAISE EXCEPTION 'No se puede registrar la salida ya que no hay stock';
    END IF;

    IF new.salcan > conta THEN
        SELECT last_value into ultimo FROM salida_salcod_seq;
        SELECT setval('salida_salcod_seq',ultimo-1);
        RAISE EXCEPTION 'No se puede registrar la salida ya que la cantidad selecciona es mayor a la que hay en stock';
    ELSE
        conta := conta - new.salcan;
        update entrada SET entsto = conta where entpar=new.entpar;
    END IF;
    
    
    RETURN NEW;

END;

 		 	   		  
_________________________________________________________________
Escucha a quienes ya han probado Windows 7 ¡Hazlo aquí!
http://www.sietesunpueblodeexpertos.com/index_windows7.html

Responses

pgsql-es-ayuda by date

Next:From: Carlos BazánDate: 2010-03-17 14:42:49
Subject: Re: Secuencias y tablas
Previous:From: Manuel Fernando AllerDate: 2010-03-17 13:33:04
Subject: Re: [OT] Fecha definitivas JSRL2010

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