Muchas gracias , exelente.
Otra pregunta mas, resulta que si ejecuto mi query aparte, me da dos registros con un usuario "asotero" y al ejecutar mi funcion solo me da un registro , es decir solo lo encontro en la primera tabla que es usuarios y no me muestra el de la tabla usuariosadmin, mi pregunta es, si en el codigo de mi consulta tengo que indicarle algo mas? ________________________________ De: Anthony Sotolongo <asotolo...@gmail.com> Enviado: martes, 10 de octubre de 2017 12:41:47 Para: Maria Antonieta Ramirez; FORO POSTGRES Asunto: Re: Ayuda con query Hola Maria Antonieta, como retornas un record desde hacer el cast de lo que retornas, algo como: select * from educaciondistancia.busca_usuarios('blablabla') as (campo1 tipo_dato, campo2 tipo_dato, ....) donde los campos deben ser de mismo tipo de dato que lo que devuelve la query que defines dentro de la función por ejemplo: CREATE or replace FUNCTION ejemplo_record(character) RETURNS RECORD AS $BODY$ DECLARE REG RECORD; BEGIN FOR REG IN (select datname, datdba from pg_database Where datname =$1) loop return REG; end loop; end; $BODY$ language 'plpgsql'; select * from ejemplo_record('postgres') as (nombre name, dba oid) --retorna los campos por separado select ejemplo_record('postgres') --retorna los campos en un record Saludos On 10/10/17 14:23, Maria Antonieta Ramirez wrote: Hola, Ya tengo mi funcion de la siguiente manera: CREATE or replace FUNCTION educaciondistancia.busca_usuarios(character) RETURNS RECORD AS $BODY$ DECLARE REG RECORD; BEGIN FOR REG IN (Select usuario.* from (Select a.usuario , a.pwd , a.matricula, a.iniciosesion,a.ultimoacceso, a.token, a.tipousuario , a.activo From educaciondistancia.usuarios a Union all Select b.usuario, b.pwd, b.personal, b.iniciosesion, b.fechaultimoacceso, b.token, b.tipousuario, b.activo From educaciondistancia.usuariosadmin b ) usuario Where usuario.usuario =$1) loop return REG; end loop; end; $BODY$ language 'plpgsql'; solo que me muestra mi resultado en un solo renglón , como puedo hacer para que me lo muestre separado por campos ________________________________ De: Maria Antonieta Ramirez Enviado: martes, 10 de octubre de 2017 11:10:56 Para: FORO POSTGRES Asunto: Ayuda con query Buen dia, De ante mano muchas gracias a todos por su apoyo. De las opciones que me comentarón la que me resulto es la siguiente ya la complete con los campos que necesito. Select usuario.* from (Select a.usuario , a.pwd , a.matricula, a.iniciosesion,a.ultimoacceso, a.token, a.tipousuario , a.activo From educaciondistancia.usuarios a Union all Select b.usuario, b.pwd, b.personal, b.iniciosesion, b.fechaultimoacceso, b.token, b.tipousuario, b.activo From educaciondistancia.usuariosadmin b ) usuario Where usuario.usuario = 'aramirez' - Ahora tengo la siguiente duda: A esta consulta tengo que agregar un valor, ambas tablas tienen el campo "tipousuario" y mi valor es 1 para mi tabla de usuarios y 2 para mi tabla de usuariosadmin; Yo quiero hacer esta consulta de forma que pueda ingresarle los siguientes valores a buscar : usuario y tipousuario Puedo hacer una vista o tendria que meterlo a una funcion? y si tienen un ejemplo se los agradeceria mucho. Gracias.