From: | Jorge Jacques <jorge(at)eskalonnetwork(dot)com> |
---|---|
To: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Problema con funcion en version anterior de postgres |
Date: | 2010-01-19 18:47:49 |
Message-ID: | 4B55FE55.1090806@eskalonnetwork.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Jorge Jacques wrote:
> Hola, buenos dias
>
> Tengo un problema al usar una funcion que desarrolle para una base de
> datos, corriendo en un Postgres 8.2.3. Estoy intentando usarla en un
> Postgres 7.4.2 pero no he tenido exito.
>
> Obtengo el error: ERROR: COLUMN REFPROB DOES NOT EXIST.
>
> CREATE OR REPLACE FUNCTION "public"."inmo_desempeno_empeno_tri" ()
> RETURNS trigger AS
> $BODY$
> DECLARE
> refprob record;
> BEGIN
> IF TG_OP='UPDATE' THEN
> SELECT INTO refprob id, empeno_id, fecha FROM
> refrendos_prohibidos WHERE empeno_id = OLD.id AND fecha = CURRENT_DATE;
> IF refprob IS NOT NULL THEN
> DELETE FROM refrendos_prohibidos WHERE empeno_id = OLD.id
> AND fecha = CURRENT_DATE;
> RETURN NULL;
> END IF;
> END IF;
> RETURN NEW;
> END
> $BODY$
> LANGUAGE 'plpgsql'
>
>
> Asumo que el problema esta en que el manejo de la variable tipo record
> es diferente en la version 7.4.2 de Postgres. Alguna sugerencia??
>
> GRACIAS DE ANTEMANO
>
>
>
> Saluos!
> --
> TIP 7: no olvides aumentar la configuración del "free space map"
>
Hola
Curiosamente buscando un poco mas me encontre con la solucion. En
postgres 7.4 hay que cambiar la condicion:
refprob IS NOT NULL THEN
por
refprob.id IS NOT NULL THEN
Para omitir ese error, en este este enlace encontre la solucion:
http://bytes.com/topic/postgresql/answers/868014-pseudo-type-record-seen-column-older-postgresql-version
Gracias!
Saluos!
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2010-01-19 18:58:56 | Re: Constarint triggers |
Previous Message | Oswaldo Hernández | 2010-01-19 18:25:18 | ANN: La lista de distribución Python-es cambia de lugar |