sql
CREATE OR ALTER PROCEDURE LISTAASISTENCIA ( id INTEGER, fdesde DATE, fhasta DATE) RETURNS ( ast_id INTEGER, emp_id INTEGER, ast_fecha DATE, ca_id INTEGER, ast_time1 TIME, ast_time2 TIME, lapso TIME, nombre_dia VARCHAR(15)) AS DECLARE variable cuantos INTEGER; BEGIN /* Recorre las asistencias entre las fechas */ FOR SELECT ast_id, emp_id, ast_fecha, ca_id, ast_time1, ast_time2, CAST((ast_time2 - ast_time1) AS TIMESTAMP) AS lapso FROM Asistencia WHERE AST_FECHA >= :fdesde AND AST_FECHA <= :fhasta AND emp_id = :ID ORDER BY emp_id, ast_fecha INTO :ast_id, :emp_id, :ast_fecha, :ca_id, :ast_time1, :ast_time2, :lapso do BEGIN SELECT COUNT(*) FROM dias_horarios dh WHERE dh.hora_id = (SELECT EMP_turno FROM empleados E WHERE E.emp_id = :emp_id) AND dh.dia_id = EXTRACT(weekday FROM :ast_fecha) INTO :cuantos; IF (:cuantos > 0) THEN BEGIN SELECT DIA_NOMBRE FROM DIAS WHERE DIA_ID = EXTRACT(weekday FROM :ast_fecha) INTO :nombre_dia; suspend; END END
El error está en el anexo, a qué se debe ese problema??, ya se le hizo un CAST tipo TIMESTAMP y ocasiona el mismo error.
Saludos