Re: Pgplsql extraño

From: "Roberto Andrade Fonseca" <randrade(at)inteligentes(dot)com(dot)mx>
To: "GABRIEL COLINA" <colina_movil(at)yahoo(dot)com>
Cc: "gbas gbas" <gbas13(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Pgplsql extraño
Date: 2007-01-25 01:15:08
Message-ID: 38196.189.135.140.211.1169687708.squirrel@www.inteligentes.com.mx
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Hola:

Supongo que se debe a que registro.campo1 puede traer o recuperar nulos,
los cuales NO se pueden concatenar.

Utiliza algo así:

coalesce(registro.campo1,'')

lo cual te regresa una cadena vacia si registro.campo1 es nulo.

> Quiza te diga una bobada, pero no pongas comillas dobles proba comillas
> simples
> en total := total || registro.campo1 || '',''; despues contame
>
> gbas gbas <gbas13(at)gmail(dot)com> escribió:
> 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.
>
Saludos

--
Roberto Andrade Fonseca
Director de Tecnología
Inteligentes.com, S.A. de C.V.
Tel. (55) 5207-1672 / 1673

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2007-01-25 01:26:37 Re: Pgplsql extraño
Previous Message GABRIEL COLINA 2007-01-25 01:03:37 Re: Pgplsql extraño