Re: Problema con funcion en version anterior de postgres

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!

In response to

Browse pgsql-es-ayuda by date

  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