>
>De: Juan Carlos Medina Ruiz <jcmedina...@gmail.com>
>Para: Gabriel Ferro <gabrielrfe...@yahoo.com.ar>
>CC: pgsql-es-ayuda@postgresql.org
>Enviado: miércoles 12 de agosto de 2009, 20:11:07
>Asunto: Re: [pgsql-es-ayuda] Saludos
>
>
>
>
>El 12 de agosto de 2009 17:55, Gabriel Ferro <gabrielrfe...@yahoo.com.ar> 
>escribió:
>
>
>>
>>Doc cuando ejecuto tu funcion me sale el sgte error
>>ERROR:  no existe el tipo «respuesta_buscar_persona»
>>********** Error **********
>>ERROR: no existe el tipo «respuesta_buscar_persona»
>>SQL state: 42704
>>la pregunta es que yo veo ahi 02 comentarios que son los siguientes
>> 
>>--DROP type respuesta_buscar_persona;
>>--CREATE TYPE respuesta_buscar_persona AS (clave bigint);
>>se supone que debo crear mi tipo pero a que te refieres con eso de 
>>respuesta_buscar_persona
>> 
>>Lo que pasa es que yo tengo un listado y necesito buscar por distintos 
>>criterios es eso factible?
>>>
>>>De: Juan Carlos Medina Ruiz <jcmedina...@gmail.com>
>>>>>Para: pgsql-es-ayuda@postgresql.org
>>>Enviado: miércoles 12 de agosto de 2009, 19:47:12
>>>Asunto: [pgsql-es-ayuda] Saludos
>>
>>>
>>>
>>>ante todo disculpen mi ignorancia estoy ingresando al tema de postgres con 
>>>lenguaje plsql, la pregunta es como haria para hacer una funcion o 
>>>procedimiento que me permita filtrar datos de una tabla de acuerdo a un 
>>>parametro especificado, les agradeceria de antemano una pequeña ayuda, 
>>>gracias
>>>>>
>>>
>>>
>>>
>>
>>CREATE OR REPLACE FUNCTION padrones.buscar_persona(nom text)
>> RETURNS SETOF respuesta_buscar_persona AS
>>$BODY$
>>--DROP type respuesta_buscar_persona;
>>--CREATE TYPE respuesta_buscar_persona AS (clave bigint);
>>>>DECLARE
>>RESPUESTA respuesta_buscar_persona%ROWTYPE;
>>nombusca text;
>>BEGIN
>>FOR RESPUESTA IN (
>> select * from tabla where campo=nom
>>LOOP
>>RETURN NEXT RESPUESTA;
>> END LOOP;
>>RETURN;
>>END;
>>$BODY$
>>>> LANGUAGE 'plpgsql' VOLATILE
>> COST 100
>> ROWS 1000;
>>
>>la funcion filtra la tabla con campo=nom y devuelve todos los registros... 
>>algo asi
>>
>>
>>
>>
CREATE TYPE respuesta_buscar_persona AS (clave bigint);
si eso debes poner arriba es un tipo que define lo que retorna la funcion en 
este caso los registros que dan en el sql..
es solo un ejemplo.. no funciona... debes poner el select que tu quieras para 
eso
si quieres disitintos criterios hay varias posibildiades una agregas un 
parametro a la funcion que te diga que es lo que contiene el segundo parametro
(tipoconsulta integer, dato text) por ejemplo. entonces dentro de la funcion 
con IF tipoconsulota=0 hacer tal where  y asi sucesivamente.

te recomiendo dos cosas, que leas la ayuda de funciones y segundo cambia el 
asunto del hilo porque "Saludos" no da una idea de nada..
un abrazo...


      Yahoo! Cocina

Encontra las mejores recetas con Yahoo! Cocina.


http://ar.mujer.yahoo.com/cocina/
--
TIP 9: visita nuestro canal de IRC #postgresql-es en irc.freenode.net

Responder a