Re: Error en trigger para controlar fechas.

From: "Jaime Casanova" <systemguards(at)gmail(dot)com>
To: "Pablo Braulio" <brulics(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Error en trigger para controlar fechas.
Date: 2006-05-20 20:21:28
Message-ID: c2d9e70e0605201321w516b3361n2c632b6acd8b1db5@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On 5/20/06, Pablo Braulio <brulics(at)gmail(dot)com> wrote:
> Hola de nuevo.
>
> Sigo con mis primeros pasos con plpgsql.
>
> Trato de hacer un trigger que controle la inserción de datos en dos
> campos "date".
>
> CREATE OR REPLACE FUNCTION fecha_baja() returns trigger as $$
> begin
> IF NEW.BAJA > 'ALTA' THEN
> RAISE EXCEPTION 'ERROR: La fecha de baja es inferior a la de alta.';
> END IF ;
> END;
> $$ language 'plpgsql' ;
>
> CREATE TRIGGER FECHA_BAJA BEFORE INSERT OR UPDATE ON FECHAS_PERSONAL FOR EACH
> ROW EXECUTE PROCEDURE fecha_baja() ;
>
> Lo que quiero es que compruebe si el campo BAJA tiene una fecha mayor a la del
> campo ALTA.
>
> Pero me muestra este error.la sintaxis de entrada no es válida para tipo
> date: «ALTA» CONTEXT: sentencia SQL: «SELECT $1 > 'ALTA'» PL/pgSQL
> function "fecha_baja
>

no puedes comparar una fecha contra un string, eso es lo que te dice el error:
$1 > 'ALTA'

usa el campo new.alta, no la cadena 'ALTA'...

aunque la idea del check me parece mejor...

--
Atentamente,
Jaime Casanova

"Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs and the universe trying
to produce bigger and better idiots.
So far, the universe is winning."
Richard Cook

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Pablo Braulio 2006-05-20 20:31:34 Re: Error en trigger para controlar fechas.
Previous Message Jaime Casanova 2006-05-20 20:07:00 Re: TRIGGERS y VFP bajan la performance