Pgplsql extraño

From: "gbas gbas" <gbas13(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Pgplsql extraño
Date: 2007-01-24 15:23:05
Message-ID: bd5b34600701240723s6895e00eueae742b3b0a59008@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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.

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Juan Martínez 2007-01-24 15:27:28 Re: configurar el pg_hba
Previous Message Juan Martínez 2007-01-24 15:18:02 Re: pg_dump error