Re: Pgplsql extraño

From: "gbas gbas" <gbas13(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Pgplsql extraño
Date: 2007-01-26 07:49:00
Message-ID: bd5b34600701252349w75659778p93109118da43eeb@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Vale vale, tomo nota

"Cualquier cosa" || NULL = NULL
NULL || "Cualquier cosa" = NULL

Concatenar con null es como multiplicar por cero. Tengo que revisar mi
concepto de "concatenación" porque yo creía que era agregar algo a algo (que
soy javero).

Muchas gracias a todos por vuestra colaboración.

El día 26/01/07, Alejandro Loayza <axle_vampire(at)msn(dot)com> escribió:
>
>
>
>
> Creo que sólo debes inicializar la variable *total*
>
> *saludos*
>
> ------------------------------
> From: *"gbas gbas" <gbas13(at)gmail(dot)com>*
> To: *pgsql-es-ayuda(at)postgresql(dot)org*
> Subject: *[pgsql-es-ayuda] Pgplsql extraño*
> Date: *Wed, 24 Jan 2007 16:23:05 +0100*
>
> Hola
>
> Soy nuevo con postgre y más con pgplsql. Tengo un sencillísimo script que
> en la parte más tonta no funciona. Además está copiado de otros a los que si
> les funciona.
>
> A ver si a alguien se le ocurre porqué, ahí va:
>
>
> CREATE OR REPLACE FUNCTION getTodosPadres () RETURNS TEXT AS '
> DECLARE
> total varchar;
> registro record;
> BEGIN
> FOR registro IN SELECT DISTINCT campo1 FROM tabla1 LOOP
> total := total ||
> registro.campo1 || '','';
>
> RAISE NOTICE ''Encontre %'', registro.campo1;
> RAISE NOTICE ''Total %'', total;
> END LOOP;
>
>
> RETURN in_values;
>
> END;
> ' LANGUAGE 'plpgsql';
>
> Se trata de leer un campo de la tabla y hacer con él una cadena separada
> por comas. El problema está en la concatenación, increiblemente no funciona
> !!.
>
> Un ejemplo del resultado sería :
>
>
> NOTICE: Encontre 00000003
> NOTICE: Total <NULL>
> NOTICE: Encontre 00000013
> NOTICE: Total <NULL>
> NOTICE: Encontre 00000019
> NOTICE: Total <NULL>
> NOTICE: Encontre 00000034
> NOTICE: Total <NULL>
> NOTICE: Encontre 00000046
> NOTICE: Total <NULL>
> ....
>
> osea que el problema esta en
>
> total := total || registro.campo1 || '','';
>
> pero eso lo he visto yo igual usar en muchos scripts que teoricamente
> funcionan.
>
>
> Ale, a ver si alguien me ilumina :). Gracias.
>
>
>
>
>
> ------------------------------
> Express yourself instantly with MSN Messenger! MSN Messenger<http://g.msn.com/8HMAEN/2728??PS=47575>Download today it's FREE!

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message José Manuel Ruiz 2007-01-26 08:11:27 Re: Borrado de base de datos
Previous Message Jaime Casanova 2007-01-26 06:41:27 Re: [Fwd: Como devuelvo mas de un conjunto de registros en una funcion]