HOLA A TODOS Y MUCHAS GRACIAS POR ANTICIPADO.
ESTOY EMPEZANDO A USAR EL PL/SQL Y TODAVIA NO LO CONTROLO Y QUERIA PEDIROS HABER SI ME HECHAIS UNA MANO CON ESTE EJERCICIO.
DISEÑAR UN PROCEDIMIENTO LLAMADO PONCALIFICACION QUE PONGA A ESTE CAMPO CALIIFICACION LA NOTA_CARRERA EN LETRA Y DEVUELVA EL NUMERO DE NOTABLES Y EL NUMERO DE DIECES.
CREATE OR REPLACE PROCEDURE PONCALIFICACION(NTB IN %TYPE,DIEZ )
IS
CURSOR C1 IS SELECT CALIIFICACION FROM MEDICOS FOR UPDATE;
R1 C1%ROWTYPE;
CONT NUMBER;
CONT2 NUMBER;
BEGIN
OPEN C1;
CONT:=0;
CONT2:=0;
LOOP
FETCH C1 INTO R1;
EXIT WHEN C1%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(R1.CALIFIICACION);
IF R1.NOTA_CARRERA BETWEEN 0 AND 4.9 THEN
R1.CALIIFICACION='INS';
END IF;
IF R1.NOTA_CARRERA BETWEEN 5 AND 6.9 THEN
R1.CALIIFICACION='BI';
END IF;
IF R1.NOTA_CARRERA BETWEEN 7 AND 8.9 THEN
R1.CALIIFICACION='NT';
END IF;
IF R1.NOTA_CARRERA BETWEEN 9 AND 10 THEN
R1.CALIIFICACION='SB';
END IF;
END LOOP;
CLOSE C1;
END;
/
SET SERVEROUTPUT ON
BEGIN
PONCALIFICACION;
END;
/
LO QUE DEBO DE UTILIZAR DE LA BASE DE DATOS ES:
SQL> DESC MEDICOS;
Nombre ¿Nulo? Tipo
----------------------------------------- -------- -----------------
M# NOT NULL CHAR(3)
NOMBRE VARCHAR2(30)
F_NAC DATE
E# CHAR(2)
DIR VARCHAR2(30)
SALARIO NUMBER
NOTA_CARRERA NUMBER
SQL> DESC ESPECIALIDADES
Nombre ¿Nulo? Tipo
----------------------------------------- -------- --------------
E# NOT NULL CHAR(2)
NOMBRE VARCHAR2(15)
CALIFICACION NUMBER(5)