Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-es-ayuda by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group