Comandos
Enviado por kiespino • 20 de Agosto de 2015 • Apuntes • 1.480 Palabras (6 Páginas) • 134 Visitas
Ejercicio 1
declare
CURSOR crespuesta is
SELECT alum.appat_alumno, alum.pnombre_alumno, asig.nombre, prom.promedio_asig, prom.situacion_asig
FROM alumno alum, asignatura asig, promedio_asig_alumno prom
WHERE
alum.cod_alumno = prom.cod_alumno AND
asig.cod_asignatura = prom.cod_asignatura
ORDER BY alum.appat_alumno;
Nombre VARCHAR(100);
Apellido VARCHAR(100);
Asignatura VARCHAR(100);
Promedio NUMBER(10,1);
Estado VARCHAR(100);
contador NUMBER(10,0);
BEGIN
contador:=1;
OPEN crespuesta;
LOOP
FETCH crespuesta INTO Nombre, Apellido, Asignatura, Promedio, Estado;
EXIT WHEN crespuesta%NOTFOUND;
IF(Estado = 'R') THEN
dbms_output.put_line(contador || ' ' ||Nombre ||' '||Apellido ||' '||Asignatura||' '||Promedio||' '||'Reprobado');
END IF;
IF(Estado = 'A') THEN
dbms_output.put_line(contador || ' ' ||Nombre ||' '||Apellido ||' '||Asignatura||' '||Promedio||' '||'Aprobado');
END IF;
contador:=contador+1;
END LOOP;
END;
------------------------------------------------------
SELECT alum.appat_alumno, alum.pnombre_alumno, asig.nombre, prom.situacion_asig
FROM alumno alum, asignatura asig, promedio_asig_alumno prom
WHERE
alum.cod_alumno = prom.cod_alumno AND
asig.cod_asignatura = prom.cod_asignatura
ORDER BY alum.appat_alumno;
------------------------------------------------------------------------------------------------------------------------
----Ejercicio N°2------
Declare
CURSOR Cconsulta is
SELECT alum.numrut_alumno, alum.dvrut_alumno,
alum.pnombre_alumno, alum.snombre_alumno, alum.appat_alumno, alum.apmat_alumno,
cur.cod_curso, cur.descripcion
FROM alumno alum, curso cur
WHERE
alum.cod_curso = cur.cod_curso
ORDER BY cur.descripcion , alum.appat_alumno;
Rut NUMBER(10);
Dv VARCHAR(5);
PNombre VARCHAR(100);
SNombre VARCHAR(100);
PApellido VARCHAR(100);
SApellido VARCHAR(100);
Contador NUMBER(10);
idCurso NUMBER(10);
Curso VARCHAR(100);
Anterior NUMBER(10);
BEGIN
Contador := 1;
idCurso := 0;
Anterior := 0;
OPEN Cconsulta;
LOOP
FETCH Cconsulta INTO Rut, Dv, PNombre, SNombre, PApellido, SApellido, idCurso, Curso;
EXIT WHEN Cconsulta%NOTFOUND;
IF(idCurso = Anterior) THEN
dbms_output.put_line(Contador||' '||Rut||'-'||Dv||' '||PNombre||' '||SNombre||' '||PApellido||' '||SApellido||' '||'?'||' '||'?'||' '||'?'||' '||'?'||' '||'?');
END IF;
IF(idCurso <> Anterior) THEN
Contador:=1;
dbms_output.put_line('');
dbms_output.put_line('');
dbms_output.put_line('');
dbms_output.put_line('Asistencia '||Curso);
dbms_output.put_line('---------------------------------------');
dbms_output.put_line('N°'||' '||'Rut alumno'||' '||'Nombre alumno'||' '||'Lunes'||' '||'Martes'||' '||'Miercoles'||' '||'Jueves'||' '||'Viernes');
dbms_output.put_line('---------------------------------------');
dbms_output.put_line(Contador||' '||Rut||'-'||Dv||' '||PNombre||' '||SNombre||' '||PApellido||' '||SApellido||' '||'?'||' '||'?'||' '||'?'||' '||'?'||' '||'?');
END IF;
contador:=contador+1;
Anterior := idCurso;
END LOOP;
END;
------------------------------------------------------------------------------
SELECT alum.numrut_alumno, alum.dvrut_alumno,
alum.pnombre_alumno, alum.snombre_alumno, alum.appat_alumno, alum.apmat_alumno,
cur.cod_curso, cur.descripcion
FROM alumno alum, curso cur
WHERE
alum.cod_curso = cur.cod_curso
ORDER BY cur.descripcion , alum.appat_alumno;
--------------------------------------------------------------------------------------------------------------------------
---Ejericio N°3----
DECLARE
CURSOR Cpromedio is
SELECT alum.cod_alumno, mod(prom.cod_asignatura, 10), prom.promedio_asig, prom.situacion_asig, alum.becado, alum.cod_curso
FROM alumno alum, asignatura asig, promedio_asig_alumno prom
WHERE
alum.cod_alumno = prom.cod_alumno AND
asig.cod_asignatura = prom.cod_asignatura
ORDER BY alum.cod_alumno;
cod_alumno NUMBER(10);
cod_asig NUMBER(10);
Promedio NUMBER(10,1);
situacion VARCHAR(10);
Contador NUMBER(10);
Promedio_F NUMBER(10,1);
...