Buen Hombre me podrías ayudar con esto Bueno agregué el record en la salida tratando de sacar este otro Error
Error de SQL: ERROR: wrong record type supplied in RETURN NEXT CONTEXT: PL/pgSQL function "anosaprobados" line 33 at RETURN NEXT La consulta es esta *************************************** select * from anosaprobados(17938327) La Funcion es **************************************** CREATE OR REPLACE FUNCTION anosaprobados (integer) RETURNS SETOF respuesta_anoscursados AS $BODY$ DECLARE RESPUESTA RECORD; rutingresado ALIAS FOR $1; BEGIN FOR RESPUESTA IN ( SELECT inst.rdb as insti, pro.id_ano as id_año, pro.rut_alumno as rut_alumno, inst.nombre_instit as nombreinstitucion, anes.nro_ano as numero_año, (cu.grado_curso || '-' || cu.letra_curso) as cursoletra FROM promocion pro inner join institucion inst on inst.rdb = pro.rdb inner join ano_escolar anes on anes.id_ano = pro.id_ano inner join matricula ma on ma.id_ano = pro.id_ano and ma.rut_alumno = 17980141 inner join curso cu on cu.id_ano = anes.id_ano and cu.ensenanza > 110 and cu.id_curso = ma.id_curso WHERE pro.rut_alumno = 17980141 and pro.situacion_final = 1 and pro.promedio > 0 and pro.asistencia > 0 UNION SELECT 0 as insti, 0 as id_año, conce.rut_alumno , conce.institucion, conce.ano, (conce.curso || '-' || conce.letra) as cursoletra FROM concentracion_notas conce where conce.rut_alumno = 17980141 ) LOOP RETURN NEXT RESPUESTA; END LOOP; RETURN; END; $BODY$ LANGUAGE plpgsql; Con esto CREATE TYPE respuesta_anoscursados AS (rut_alumno integer,rdb integer,nombre_instit char(1000),nro_ano integer,id_ano integer,cursoletra varchar(2)) Mmm esto es primera vez que lo ago estoy aprendiendo. :D gracias -----Mensaje original----- De: jcasa...@systemguards.com.ec [mailto:jcasa...@systemguards.com.ec] En nombre de Jaime Casanova Enviado el: Jueves, 09 de Diciembre de 2010 14:30 Para: Patricio Cardenas Garay CC: pgsql-es-ayuda@postgresql.org Asunto: Re: [pgsql-es-ayuda] Error al Crear Funcion Atravez de PHPPGADMIN On Thu, Dec 9, 2010 at 7:34 AM, Patricio Cardenas Garay <pcarde...@colegiointeractivo.com> wrote: > SQL error: > > ERROR: plpgsql functions cannot take type record > > In statement: > > CREATE FUNCTION "anosaprobados" (OUT x integer,OUT rdb1 integer,OUT id_ano1 > integer,OUT rut_alumno1 integer,OUT nombre_instit1 text,OUT nro_ano1 > integer,OUT cursoletra1 text,OUT RESPUESTA record) RETURNS SETOF record AS > 'DECLARE > No puedes declarar un parametro de salida como "record" (es el caso de tu ultimo parametro), eso es porque record es generico y postgres necesita saber que esta retornando -- Jaime Casanova www.2ndQuadrant.com Professional PostgreSQL: Soporte y capacitación de PostgreSQL - Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org) Para cambiar tu suscripción: http://www.postgresql.org/mailpref/pgsql-es-ayuda