Otra ves con los arrays

From: Aldo Alexander Leyva Alvarado <aleyva2004(at)gmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Otra ves con los arrays
Date: 2005-09-23 15:56:14
Message-ID: 7a47bbbd050923085619d8ab1b@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Juan Carlos Badillo Goy 2005-09-23 16:05:35 Re: Ayuda con la conexion - Urgente - sin conexion
Previous Message Manuel Sugawara 2005-09-23 15:36:20 Re: Convertir VarChar a INT4 y problema con Unicode