Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

ejercicio pl/sql

Estas en el tema de ejercicio pl/sql en el foro de Bases de Datos General en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 30/04/2010, 01:57
 
Fecha de Ingreso: febrero-2010
Mensajes: 41
Antigüedad: 14 años, 2 meses
Puntos: 0
ejercicio pl/sql

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)

Etiquetas: bases-de-datos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:02.