Re: Ayuda on funcion que regresa registros

From: Julio Cesar Sánchez González <knowhow(at)sistemasyconectividad(dot)com(dot)mx>
To: Fernando Moreno <azazel(dot)7(at)gmail(dot)com>
Cc: Angel De Jesus González Cruz <angsus17(at)hotmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Ayuda on funcion que regresa registros
Date: 2008-05-04 09:13:42
Message-ID: 481D7E46.6040206@sistemasyconectividad.com.mx
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Fernando Moreno wrote:
> Tienes que agregar una definición de columnas después de usar la
> función como tabla. Por ejemplo:
>
> select * from funcion() as (dato1 int, dato2 int, dato3 int);
>
> Por supuesto, el número y tipo de datos debe corresponderse.
>
> El día 2 de mayo de 2008 18:34, Angel De Jesus González Cruz
> <angsus17(at)hotmail(dot)com <mailto:angsus17(at)hotmail(dot)com>> escribió:
>
>
>
> Hola que tal espero alguien pueda ayudarme.
>
> Necesito crear una funcion que me regrese registros en varias
> columnas, ya que he hecho una function que me regresa los valores
> en una columna separados por coma y asi no me sirve.
>
> Quisiera ser algo asi:
>
> SELECT NOMBRE,DIRECCION, TELEFONO FROM PERSONA WHERE
> PATERNO=(at)PARAMETRO <mailto:PATERNO=(at)PARAMETRO>
>
> EL PARAMETRO CAMBIARA DEPENDIEDO A LO QUE TECLEE EL USUARIO. Es
> para un trabajo que debo entrega y no tengo permitido colocar la
> consulta asi normal, debo colocarla en una function.
>
> AL EJECUTARLA ME DEVUELVE ESTO
>
> (ANGEL,CALLE 21 DE MAYO,234543412) Y ASI NO LO DESEO
>
> CREATE OR REPLACE FUNCTION "SP_VISTA2"("vNombre" character varying)
> RETURNS information_schema.views AS
> $BODY$declare
> vNombre alias for $1;
> begin
>
> select * from "v_select_personal" where "Paterno"=vNombre;
> end;$BODY$
> LANGUAGE 'plpgsql' VOLATILE
> COST 100;
> ALTER FUNCTION "SP_VISTA2"(character varying) OWNER TO "Desarrollo";
>
>

No te servira mejor una funcion SQL como esta:

create or replace function getCliente(varchar) returns clientes as $$
select * from clientes where nombre_razon_social = $1;
$$ LANGUAGE SQL;

sicodelico=# select * from getCliente('vapores guadalajara');
id | rfc | nombre_razon_social | direccion | telefonos
----+--------------+---------------------+-----------+-----------
1 | vcd910311sxa | vapores guadalajara | |
(1 fila)

--
Saludos,

Julio Cesar Sánchez González.

--
Ahora me he convertido en la muerte, destructora de mundos.
Soy la Muerte que se lleva todo, la fuente de las cosas que vendran.

www.sistemasyconectividad.com.mx http://darkavngr.blogspot.com/

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Gabriel Hermes Colina Zambra 2008-05-04 15:58:16 Re: Ayuda on funcion que regresa registros
Previous Message leonel 2008-05-04 00:37:01 Re: ERROR AL HACER RESPALDO