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
RESPUESTA RECORD;
rutingresado ALIAS FOR $1;
BEGIN
 
  FOR RESPUESTA IN (
      
  SELECT 
  inst.rdb as insti,
  pro.id_ano as id_ano,
  pro.rut_alumno as rut_alumno,
  inst.nombre_instit as nombreinstitucion,
  anes.nro_ano as numero_ano,
  cast(cu.grado_curso || ''-'' || cu.letra_curso as varchar(3)) 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 =
rutingresado
  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 = rutingresado and pro.situacion_final = 1 and pro.promedio
> 0 and pro.asistencia > 0
  UNION
  SELECT 
  0 as insti,
  0 as id_ano,
  conce.rut_alumno ,
  conce.institucion,
  conce.ano,
  cast(conce.curso || ''-'' || conce.letra as varchar(3)) as cursoletra
  FROM concentracion_notas conce where conce.rut_alumno = rutingresado
order by numero_ano  DESC  )
   
  LOOP
      RETURN NEXT RESPUESTA;
  END LOOP;
  
RETURN;
END;
$body$
LANGUAGE ''plpgsql''' LANGUAGE "plpgsql"
VOLATILE
 
 
Esta misma funcion la cree en otras bases de datos pero atraves del SQL
Manager y ni tuve problemas aca nose porque no pesca el tipo record
Si alguien me puede ayuadar por favor  muchas gracias 
Esta es mi primera funcion con postgreesql.
 

 

Responder a