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
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 |