Re: Otra ves con los arrays

From: Horacio Miranda <hmiranda(at)gmail(dot)com>
To: Aldo Alexander Leyva Alvarado <aleyva2004(at)gmail(dot)com>, "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Otra ves con los arrays
Date: 2005-09-23 18:57:36
Message-ID: f2b9e749050923115714f3f3ed@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Se me ocurre a simple vista que te falta por ahí algún \" para que caracter "

El 23/09/05, Aldo Alexander Leyva Alvarado<aleyva2004(at)gmail(dot)com> escribió:
> Hola a todos
>
> Una consulta, tengo esta funcion, no bota ningun error, la idea es
> retornar un array text de cualquier consulta SQL que bote un registro,
> la consulta puede incluir campos numericos y de texto, el retorno es
> de este tipo:
>
> {dato1, dato2} --Cuando los campos son Numeros
> {dato1, "dato2"} --Numero y texto
>
> Este retorno lo recibe un script PHP, de que forma puedo hacer que el
> php entienda que este string es un array
> O como puedo indicar en la funcion que simpre me retorne:
> {"5","5"} y no {5,5}
>
> Gracias de Antemano por sus respuestas
>
>
> CREATE OR REPLACE FUNCTION sp_select_simple(varchar, int4) RETURNS text[] AS'
> DECLARE
> sql_select ALIAS FOR $1;
> n_campos ALIAS FOR $2;
>
> rc_fila RECORD;
> array_retorno text[]=''{}'';
> BEGIN
> /*
> Retorna en un arreglo el resultado de una consulta, la consulta debe
> retornar un solo registro de como maximo 5 columnas
> */
> RAISE NOTICE ''******* SELECT SIMPLE ARRAY - INICIO *******'';
>
>
> FOR rc_fila IN EXECUTE sql_select LOOP
> IF n_campos=1 THEN
> array_retorno[1]:=rc_fila.columna1;
> ELSIF n_campos=2 THEN
> array_retorno[1]:=CAST(rc_fila.columna1 AS VARCHAR);
> array_retorno[2]:=CAST(rc_fila.columna2 AS VARCHAR);
> ELSIF n_campos=3 THEN
> array_retorno[1]:=rc_fila.columna1;
> array_retorno[2]:=rc_fila.columna2;
> array_retorno[3]:=rc_fila.columna3;
> ELSIF n_campos=4 THEN
> array_retorno[1]:=rc_fila.columna1;
> array_retorno[2]:=rc_fila.columna2;
> array_retorno[3]:=rc_fila.columna3;
> array_retorno[4]:=rc_fila.columna4;
> ELSIF n_campos=5 THEN
> array_retorno[1]:=rc_fila.columna1;
> array_retorno[2]:=rc_fila.columna2;
> array_retorno[3]:=rc_fila.columna3;
> array_retorno[4]:=rc_fila.columna4;
> array_retorno[5]:=rc_fila.columna5;
> END IF;
>
> RAISE NOTICE ''******* SELECT SIMPLE ARRAY - FIN ******'';
>
> RETURN array_retorno;
> END LOOP;
>
> RAISE NOTICE ''******* SELECT SIMPLE ARRAY - ERROR ******'';
> RETURN -1;
>
> END;
> 'LANGUAGE 'plpgsql';
>
> ---------------------------(fin del mensaje)---------------------------
> TIP 8: explain analyze es tu amigo
>

--
Saludos Horacio Miranda.
RedHat Certified Engineer.

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2005-09-23 20:26:32 Re: Ayuda con la conexion - Urgente
Previous Message Alvaro Herrera 2005-09-23 18:40:08 Re: query asincronico y SPI