/*
*
*/
SET SERVEROUTPUT ON
CREATE OR REPLACE TYPE array_integer IS TABLE OF INTEGER;
CREATE OR REPLACE FUNCTION incidencias_por_minuto RETURN ARRAY_INTEGER IS
l_inc_by_min ARRAY_INTEGER;
BEGIN
l_inc_by_min := array_integer();
FOR I IN 1 .. 100 LOOP
l_inc_by_min.EXTEND;
l_inc_by_min(I) := 0;
END LOOP;
FOR I IN (SELECT * FROM incidencias) LOOP
l_inc_by_min(I.minuto) := l_inc_by_min(I.minuto) + 1;
END LOOP;
RETURN l_inc_by_min;
END incidencias_por_minuto;
/**Para mostrarlo **/
DECLARE
l_inc_by_min ARRAY_INTEGER;
BEGIN
l_inc_by_min := incidencias_por_minuto();
FOR I IN l_inc_by_min.FIRST .. l_inc_by_min.LAST LOOP
IF l_inc_by_min(I) <> 0 THEN
DBMS_OUTPUT.PUT_LINE('Minuto: ' || I || ' Numero de incidencias: ' || l_inc_by_min(I));
END IF;
END LOOP;
END;
No hay comentarios:
Publicar un comentario