Variable que se inicializa ¿sola?

From: Juan Pablo GO <mozstyle2002(at)gmx(dot)net>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Variable que se inicializa ¿sola?
Date: 2005-04-01 18:55:20
Message-ID: 424D9918.7080107@gmx.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola a todos

Tengo una función en pl/pgsql declarada como VOLATILE, en ella,
ejecuto un while...loop en el cual, a una variable X le concateno
valores (ninguno de ellos es <NULL>). Todo parece ir bien (mediante
raise notice visualizo el contenido de X), hasta que el loop termina,
punto en el cual mi variable X "pierde" su contenido (se inicializa a
<NULL>).

- La variable la he definido con distintos tipos de datos y tamaños (x
varchar(200), x varchar; x text, x char(100),etc) y siempre obtengo el
mismo resultado, <NULL>.
- En el código, no inicializo la variable X a <NULL> en ningún instante.
- Intente asignando la variable X a una variable Xtemp y lo hace sin
problemas, pero Xtemp al igual que X se inicializa a <NULL> cuando
termina el while...loop.
- También, pasa que otras variables de tipo varchar, char y text se
colocan a <NULL> al terminar el while...loop.

- La función, la invoco desde un Trigger.
- He aislado la función del trigger y no pasa el problema señalado.
- Estoy utilizando PostgreSql 8 en Linux.

A groso modo y sólo para que se hagan una idea :

declare
X varchar(100);
Z text;
iIndice integer;
begin
iIndice := 1;
while iIndice < 10 loop
X := coalesce(X,'') || cast(iIndice as char(1));
Z := coalesce(Z,'') || 'z';
raise notice ' valor de X % valor de Z % valor de iIndice %',
X, Z,iIndice; /* Visualiza correctamente, 1, 12, 123, 1234, 12345, etc */
iIndice := iIndice + 1;
end loop;

raise notice ' valor de X % valor de Z %', X, Z; /* Visualiza
<NULL> */
return true;
end;

¿Alguna idea?

Gracias.

--
,''`. Juan Pablo GO
: :' : Sólo otro Debianita
`. `' DEBIAN GNU/LINUX
`-

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2005-04-01 18:56:40 Re: Problemas para Borrar Tablas
Previous Message Roberto Ovalle 2005-04-01 18:17:06 Re: Problemas para Borrar Tablas