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
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 |