Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* PAQUETE DE CONSULTAS */
- CREATE OR REPLACE PACKAGE CONSULTAS AS
- PROCEDURE Responsables_Grado;
- PROCEDURE Responsables_Grado(DESDE NUMBER, HASTA NUMBER);
- PROCEDURE Responsables_Grados;
- PROCEDURE Responsables_Grados(DESDE NUMBER, HASTA NUMBER);
- PROCEDURE nasignaturas_docente;
- PROCEDURE Docente_Materias(DOCENTE VARCHAR2,ANIO NUMBER);
- PROCEDURE Alumnos_Matriculados;
- PROCEDURE Alumnos_Matriculados(DESDE NUMBER,HASTA NUMBER);
- PROCEDURE CantMatriculados_actual;
- PROCEDURE Alumnos_Sexo;
- PROCEDURE CantMatriculados_sexo;
- PROCEDURE ListaAlumnos_Grados(GRADO VARCHAR2,
- ESPECIALIDAD VARCHAR2,SECCION VARCHAR2);
- PROCEDURE Notas_Materias(CODIGO INTEGER);
- PROCEDURE Notas_Materias(CODIGO INTEGER,PERIODO INTEGER);
- PROCEDURE Materias_Notas(CODIGOM INTEGER);
- PROCEDURE Notas_Grado(GRADO VARCHAR2, ESPECIALIDAD VARCHAR2,
- SECCION VARCHAR2);
- PROCEDURE Cuadro_Notas(GRADO VARCHAR2, ESPECIALIDAD VARCHAR2,
- SECCION VARCHAR2, MAT VARCHAR2, PERIDO VARCHAR2);
- PROCEDURE Alumnos_Sexo(SEX VARCHAR2, OPCION VARCHAR2);
- PROCEDURE Cantidad_Alumnos;
- PROCEDURE Cantidad_Alumnos(GRADO VARCHAR2, OPCION VARCHAR2);
- PROCEDURE Materias_Impartidas(CODIGO INTEGER);
- PROCEDURE Orientadores_Grados;
- PROCEDURE Docente_Notas(CODIGO INTEGER, MAT VARCHAR2, GRAD VARCHAR2,
- OPCION VARCHAR2, PERIDO VARCHAR2);
- END CONSULTAS;
- /
- CREATE OR REPLACE PACKAGE BODY CONSULTAS AS
- PROCEDURE Responsables_Grado
- IS
- BEGIN
- FOR I IN (SELECT D.NOMBRE || ' ' || D.APELLIDO AS NOMBRE ,G.NOMBRE AS GRADO FROM DOCENTE D
- INNER JOIN ENCARGADOS_GRADO E ON D.CODDOCENTE=E.CODDOCENTE
- INNER JOIN GRADO G ON G.CODIGOGRADO=E.CODGRADO) LOOP
- DBMS_OUTPUT.PUT_LINE(' NOMBRE : ' || TO_CHAR(I.NOMBRE) || ' GRADO : ' || TO_CHAR(I.GRADO));
- END LOOP;
- END Responsables_Grado;
- PROCEDURE Responsables_Grado(DESDE NUMBER, HASTA NUMBER)
- IS
- BEGIN
- FOR I IN (SELECT D.NOMBRE || ' ' || D.APELLIDO AS NOMBRE ,G.NOMBRE AS GRADO FROM DOCENTE D
- INNER JOIN ENCARGADOS_GRADO E ON D.CODDOCENTE=E.CODDOCENTE
- INNER JOIN GRADO G ON G.CODIGOGRADO=E.CODGRADO WHERE ROWNUM BETWEEN DESDE AND HASTA) LOOP
- DBMS_OUTPUT.PUT_LINE(' NOMBRE : ' || TO_CHAR(I.NOMBRE) || ' GRADO : ' || TO_CHAR(I.GRADO));
- END LOOP;
- END Responsables_Grado;
- PROCEDURE Responsables_Grados
- IS
- BEGIN
- FOR I IN (SELECT D.NOMBRE || ' ' || D.APELLIDO AS NOMBRE ,G.NOMBRE AS GRADO ,S.SECCION AS SECCION ,EP.NOMBRE AS OPCION FROM DOCENTE D
- INNER JOIN ENCARGADOS_GRADO E ON D.CODDOCENTE=E.CODDOCENTE
- INNER JOIN GRADO G ON G.CODIGOGRADO=E.CODGRADO
- INNER JOIN SECCIONES S ON S.CODSECCION=E.CODSECCION
- INNER JOIN ESPECIALIDAD EP ON EP.CODESPECIALIDAD=E.CODESPECIALIDAD) LOOP
- DBMS_OUTPUT.PUT_LINE(' NOMBRE : ' || TO_CHAR(I.NOMBRE) || ' GRADO : ' || TO_CHAR(I.GRADO)
- || ' SECCION : ' || TO_CHAR(I.SECCION) || ' OPCION: ' || TO_CHAR(I.OPCION) );
- END LOOP;
- END Responsables_Grados;
- PROCEDURE Responsables_Grados(DESDE NUMBER, HASTA NUMBER)
- IS
- BEGIN
- FOR I IN (SELECT D.NOMBRE || ' ' || D.APELLIDO AS NOMBRE ,G.NOMBRE AS GRADO ,S.SECCION AS SECCION ,EP.NOMBRE AS OPCION FROM DOCENTE D
- INNER JOIN ENCARGADOS_GRADO E ON D.CODDOCENTE=E.CODDOCENTE
- INNER JOIN GRADO G ON G.CODIGOGRADO=E.CODGRADO
- INNER JOIN SECCIONES S ON S.CODSECCION=E.CODSECCION
- INNER JOIN ESPECIALIDAD EP ON EP.CODESPECIALIDAD=E.CODESPECIALIDAD WHERE ROWNUM BETWEEN DESDE AND HASTA ) LOOP
- DBMS_OUTPUT.PUT_LINE(' NOMBRE : ' || TO_CHAR(I.NOMBRE) || ' GRADO : ' || TO_CHAR(I.GRADO)
- || ' SECCION : ' || TO_CHAR(I.SECCION) || ' OPCION: ' || TO_CHAR(I.OPCION) );
- END LOOP;
- END Responsables_Grados;
- PROCEDURE nasignaturas_docente
- IS
- BEGIN
- FOR I IN (SELECT D.NOMBRE AS NOMBRE,D.APELLIDO AS APELLIDO, COUNT(*) AS IMPARTE FROM DOCENTE D
- INNER JOIN CARGA_DOCENTE CD ON D.CODDOCENTE=CD.CODDOCENTE
- GROUP BY D.NOMBRE,D.APELLIDO) LOOP
- DBMS_OUTPUT.PUT_LINE(' DOCENTE : ' || TO_CHAR(I.NOMBRE) ||' ' || TO_CHAR(I.APELLIDO)
- || ' ASIGNATURAS IMPARTIDAS : ' || TO_CHAR(I.IMPARTE));
- END LOOP;
- END nasignaturas_docente;
- PROCEDURE Docente_Materias(DOCENTE VARCHAR2,ANIO NUMBER)
- IS
- BEGIN
- FOR I IN (SELECT M.NOMBRE AS MATERIA FROM DOCENTE D
- INNER JOIN CARGA_DOCENTE CD ON D.CODDOCENTE=CD.CODDOCENTE
- INNER JOIN MATERIAS M ON M.CODMATERIA=CD.CODMATERIA
- WHERE D.NOMBRE=DOCENTE AND EXTRACT(YEAR FROM CD.ANIO_ASIGNACION)=ANIO) LOOP
- DBMS_OUTPUT.PUT_LINE( TO_CHAR(I.MATERIA));
- END LOOP;
- END Docente_Materias;
- PROCEDURE Alumnos_Matriculados
- IS
- BEGIN
- FOR I IN (SELECT A.NOMBRE AS NOMBRE ,A.APELLIDO AS APELLIDO FROM ALUMNO A
- INNER JOIN MATRICULA M ON A.CODALUMNO=M.CODALUMNO
- WHERE EXTRACT(YEAR FROM M.FECHA_MATRICULA) =EXTRACT(YEAR FROM SYSDATE) ORDER BY A.NOMBRE ASC ) LOOP
- DBMS_OUTPUT.PUT_LINE( TO_CHAR(I.NOMBRE) || ' ' || TO_CHAR(I.APELLIDO));
- END LOOP;
- END Alumnos_Matriculados;
- PROCEDURE Alumnos_Matriculados(DESDE NUMBER,HASTA NUMBER)
- IS
- BEGIN
- FOR I IN (SELECT A.NOMBRE AS NOMBRE ,A.APELLIDO AS APELLIDO FROM ALUMNO A
- INNER JOIN MATRICULA M ON A.CODALUMNO=M.CODALUMNO
- WHERE EXTRACT(YEAR FROM M.FECHA_MATRICULA) =EXTRACT(YEAR FROM SYSDATE) AND ROWNUM BETWEEN DESDE AND HASTA ORDER BY A.NOMBRE ASC ) LOOP
- DBMS_OUTPUT.PUT_LINE( TO_CHAR(I.NOMBRE) || ' ' || TO_CHAR(I.APELLIDO));
- END LOOP;
- END Alumnos_Matriculados;
- PROCEDURE CantMatriculados_actual
- IS
- NUMERO_MATRICULADOS NUMBER;
- BEGIN
- SELECT COUNT(*) INTO NUMERO_MATRICULADOS FROM MATRICULA M
- WHERE EXTRACT(YEAR FROM M.FECHA_MATRICULA) =EXTRACT(YEAR FROM SYSDATE);
- DBMS_OUTPUT.PUT_LINE(' CANTIDAD DE ALUMNOS MATRICULADOS : ' || TO_CHAR(NUMERO_MATRICULADOS));
- END CantMatriculados_actual;
- PROCEDURE Alumnos_Sexo
- IS
- BEGIN
- FOR I IN (SELECT NOMBRE AS NOMBRE ,APELLIDO AS APELLIDO ,SEXO AS SEXO FROM alumno ORDER BY SEXO ) LOOP
- DBMS_OUTPUT.PUT_LINE(TO_CHAR(I.NOMBRE) || ' ' || TO_CHAR(I.APELLIDO) || ' ' || TO_CHAR(I.SEXO));
- END LOOP;
- END Alumnos_Sexo;
- PROCEDURE CantMatriculados_sexo
- IS
- BEGIN
- FOR I IN (SELECT SEXO AS SEXO, COUNT(*) AS CANTIDAD FROM ALUMNO A
- INNER JOIN MATRICULA M ON A.CODALUMNO =M.CODALUMNO
- WHERE EXTRACT(YEAR FROM M.FECHA_MATRICULA) =EXTRACT(YEAR FROM SYSDATE) GROUP BY SEXO ) LOOP
- DBMS_OUTPUT.PUT_LINE(' SEXO : ' || TO_CHAR(I.SEXO) || ' CANTIDAD ' || TO_CHAR(I.CANTIDAD));
- END LOOP;
- END CantMatriculados_sexo;
- PROCEDURE ListaAlumnos_Grados(GRADO VARCHAR2,ESPECIALIDAD VARCHAR2,SECCION VARCHAR2)
- IS
- CURSOR C_LISTADO IS (SELECT A.NOMBRE || ' ' || A.APELLIDO AS ALUMNO FROM ALUMNO A
- INNER JOIN MATRICULA M ON
- A.CODALUMNO=M.CODALUMNO INNER JOIN GRADO G ON
- M.CODIGOGRADO=G.CODIGOGRADO INNER JOIN
- ESPECIALIDAD E ON M.CODESPECIALIDAD=E.CODESPECIALIDAD INNER JOIN
- SECCIONES S ON M.CODSECCION=S.CODSECCION WHERE G.NOMBRE=GRADO
- AND E.NOMBRE=ESPECIALIDAD AND S.SECCION=SECCION);
- BEGIN
- FOR I IN C_LISTADO LOOP
- DBMS_OUTPUT.PUT_LINE( TO_CHAR(I.ALUMNO));
- END LOOP;
- END ListaAlumnos_Grados;
- PROCEDURE Notas_Materias(CODIGO INTEGER)
- IS
- CURSOR C_NOTAS IS (SELECT ALUMNO.CODALUMNO,
- MATERIAS.NOMBRE AS MATERIA,
- NOTAS.ACTIVIDAD,
- NOTAS.LABORATORIO,
- NOTAS.EXAMEN,
- PERIODOS.PERIODOO
- FROM ALUMNO
- INNER JOIN NOTAS ON ALUMNO.CODALUMNO = NOTAS.CODALUMNO
- INNER JOIN PERIODOS ON PERIODOS.CODPERIODO = NOTAS.CODPERIODO
- INNER JOIN MATERIAS ON MATERIAS.CODMATERIA = NOTAS.CODMATERIA WHERE alumno.codalumno=CODIGO);
- BEGIN
- FOR I IN C_NOTAS LOOP
- DBMS_OUTPUT.PUT_LINE(' MATERIA : ' || TO_CHAR(I.MATERIA));
- DBMS_OUTPUT.PUT_LINE(' ACTIVIDAD : ' || TO_CHAR(I.ACTIVIDAD));
- DBMS_OUTPUT.PUT_LINE(' LABORATORIO : ' || TO_CHAR(I.LABORATORIO));
- DBMS_OUTPUT.PUT_LINE(' EXAMEN: ' || TO_CHAR(I.EXAMEN));
- DBMS_OUTPUT.PUT_LINE(' PERIODO : ' || TO_CHAR(I.PERIODOO));
- END LOOP;
- END Notas_Materias;
- PROCEDURE Notas_Materias(CODIGO INTEGER,PERIODO INTEGER)
- IS
- CURSOR C_NOTAS IS (SELECT ALUMNO.CODALUMNO,
- MATERIAS.NOMBRE AS MATERIA,
- NOTAS.ACTIVIDAD,
- NOTAS.LABORATORIO,
- NOTAS.EXAMEN,
- PERIODOS.PERIODOO
- FROM ALUMNO
- INNER JOIN NOTAS ON ALUMNO.CODALUMNO = NOTAS.CODALUMNO
- INNER JOIN PERIODOS ON PERIODOS.CODPERIODO = NOTAS.CODPERIODO
- INNER JOIN MATERIAS ON MATERIAS.CODMATERIA = NOTAS.CODMATERIA WHERE alumno.codalumno= CODIGO AND NOTAS.CODPERIODO=PERIODO);
- BEGIN
- FOR I IN C_NOTAS LOOP
- DBMS_OUTPUT.PUT_LINE(' MATERIA : ' || TO_CHAR(I.MATERIA));
- DBMS_OUTPUT.PUT_LINE(' ACTIVIDAD : ' || TO_CHAR(I.ACTIVIDAD));
- DBMS_OUTPUT.PUT_LINE(' LABORATORIO : ' || TO_CHAR(I.LABORATORIO));
- DBMS_OUTPUT.PUT_LINE(' EXAMEN: ' || TO_CHAR(I.EXAMEN));
- DBMS_OUTPUT.PUT_LINE(' PERIODO : ' || TO_CHAR(I.PERIODOO));
- END LOOP;
- END Notas_Materias;
- PROCEDURE Materias_Notas(CODIGOM INTEGER)
- IS
- CURSOR C_NOTAS IS (SELECT ALUMNO.CODALUMNO,
- ALUMNO.APELLIDO || ' ' ||
- ALUMNO.NOMBRE AS NOMBRE,
- MATERIAS.NOMBRE AS MATERIA,
- NOTAS.ACTIVIDAD,
- NOTAS.LABORATORIO,
- NOTAS.EXAMEN,
- PERIODOS.PERIODOO
- FROM ALUMNO
- INNER JOIN NOTAS ON ALUMNO.CODALUMNO = NOTAS.CODALUMNO
- INNER JOIN PERIODOS ON PERIODOS.CODPERIODO = NOTAS.CODPERIODO
- INNER JOIN MATERIAS ON MATERIAS.CODMATERIA = NOTAS.CODMATERIA WHERE MATERIAS.CODMATERIA=CODIGOM);
- BEGIN
- FOR I IN C_NOTAS LOOP
- DBMS_OUTPUT.PUT_LINE(' CODIGO : ' || TO_CHAR(I.CODALUMNO) || ' ALUMNO : ' || TO_CHAR(I.NOMBRE));
- DBMS_OUTPUT.PUT_LINE(' MATERIA : ' || TO_CHAR(I.MATERIA));
- DBMS_OUTPUT.PUT_LINE(' ACTIVIDAD : ' || TO_CHAR(I.ACTIVIDAD));
- DBMS_OUTPUT.PUT_LINE(' LABORATORIO : ' || TO_CHAR(I.LABORATORIO));
- DBMS_OUTPUT.PUT_LINE(' EXAMEN: ' || TO_CHAR(I.EXAMEN));
- DBMS_OUTPUT.PUT_LINE(' PERIODO : ' || TO_CHAR(I.PERIODOO));
- END LOOP;
- END Materias_Notas;
- PROCEDURE Notas_Grado(GRADO VARCHAR2, ESPECIALIDAD VARCHAR2,
- SECCION VARCHAR2)
- IS
- CURSOR C_NOTAS IS (SELECT ALUMNO.CODALUMNO,
- ALUMNO.APELLIDO || ' ' ||
- ALUMNO.NOMBRE AS NOMBRE,
- MATERIAS.NOMBRE AS MATERIA,
- NOTAS.ACTIVIDAD,
- NOTAS.LABORATORIO,
- NOTAS.EXAMEN,
- PERIODOS.PERIODOO
- FROM ALUMNO
- INNER JOIN MATRICULA ON ALUMNO.CODALUMNO = MATRICULA.CODALUMNO
- INNER JOIN ESPECIALIDAD ON ESPECIALIDAD.CODESPECIALIDAD = MATRICULA.CODESPECIALIDAD
- INNER JOIN GRADO ON GRADO.CODIGOGRADO = MATRICULA.CODIGOGRADO
- INNER JOIN SECCIONES ON SECCIONES.CODSECCION = MATRICULA.CODSECCION
- INNER JOIN NOTAS ON ALUMNO.CODALUMNO = NOTAS.CODALUMNO
- INNER JOIN MATERIAS ON MATERIAS.CODMATERIA = NOTAS.CODMATERIA
- INNER JOIN PERIODOS ON PERIODOS.CODPERIODO = NOTAS.CODPERIODO
- WHERE grado.nombre=GRADO AND especialidad.nombre=ESPECIALIDAD AND secciones.seccion=SECCION );
- BEGIN
- FOR I IN C_NOTAS LOOP
- DBMS_OUTPUT.PUT_LINE(' CODIGO : ' || TO_CHAR(I.CODALUMNO) || ' ALUMNO : ' || TO_CHAR(I.NOMBRE));
- DBMS_OUTPUT.PUT_LINE(' MATERIA : ' || TO_CHAR(I.MATERIA));
- DBMS_OUTPUT.PUT_LINE(' ACTIVIDAD : ' || TO_CHAR(I.ACTIVIDAD));
- DBMS_OUTPUT.PUT_LINE(' LABORATORIO : ' || TO_CHAR(I.LABORATORIO));
- DBMS_OUTPUT.PUT_LINE(' EXAMEN: ' || TO_CHAR(I.EXAMEN));
- DBMS_OUTPUT.PUT_LINE(' PERIODO : ' || TO_CHAR(I.PERIODOO));
- END LOOP;
- END Notas_Grado;
- PROCEDURE Cuadro_Notas(GRADO VARCHAR2, ESPECIALIDAD VARCHAR2,
- SECCION VARCHAR2, MAT VARCHAR2, PERIDO VARCHAR2)
- IS
- CURSOR C_NOTAS IS (SELECT ALUMNO.CODALUMNO,
- ALUMNO.APELLIDO || ' ' ||
- ALUMNO.NOMBRE AS NOMBRE,
- MATERIAS.NOMBRE AS MATERIA,
- NOTAS.ACTIVIDAD,
- NOTAS.LABORATORIO,
- NOTAS.EXAMEN,
- PERIODOS.PERIODOO
- FROM ALUMNO
- INNER JOIN MATRICULA ON ALUMNO.CODALUMNO = MATRICULA.CODALUMNO
- INNER JOIN ESPECIALIDAD ON ESPECIALIDAD.CODESPECIALIDAD = MATRICULA.CODESPECIALIDAD
- INNER JOIN GRADO ON GRADO.CODIGOGRADO = MATRICULA.CODIGOGRADO
- INNER JOIN SECCIONES ON SECCIONES.CODSECCION = MATRICULA.CODSECCION
- INNER JOIN NOTAS ON ALUMNO.CODALUMNO = NOTAS.CODALUMNO
- INNER JOIN MATERIAS ON MATERIAS.CODMATERIA = NOTAS.CODMATERIA
- INNER JOIN PERIODOS ON PERIODOS.CODPERIODO = NOTAS.CODPERIODO
- WHERE grado.nombre=GRADO AND especialidad.nombre=ESPECIALIDAD
- AND secciones.seccion=SECCION AND materias.nombre=MAT AND periodos.periodoo=PERIDO);
- BEGIN
- FOR I IN C_NOTAS LOOP
- DBMS_OUTPUT.PUT_LINE(' CODIGO : ' || TO_CHAR(I.CODALUMNO) || ' ALUMNO : ' || TO_CHAR(I.NOMBRE));
- DBMS_OUTPUT.PUT_LINE(' MATERIA : ' || TO_CHAR(I.MATERIA));
- DBMS_OUTPUT.PUT_LINE(' ACTIVIDAD : ' || TO_CHAR(I.ACTIVIDAD));
- DBMS_OUTPUT.PUT_LINE(' LABORATORIO : ' || TO_CHAR(I.LABORATORIO));
- DBMS_OUTPUT.PUT_LINE(' EXAMEN: ' || TO_CHAR(I.EXAMEN));
- DBMS_OUTPUT.PUT_LINE(' PERIODO : ' || TO_CHAR(I.PERIODOO));
- END LOOP;
- END Cuadro_Notas;
- PROCEDURE Alumnos_Sexo(SEX VARCHAR2, OPCION VARCHAR2)
- IS
- CURSOR C_LISTADO IS (SELECT ALUMNO.CODALUMNO,
- ALUMNO.APELLIDO || ' ' ||
- ALUMNO.NOMBRE AS NOMBRE,
- ALUMNO.SEXO
- FROM ALUMNO
- INNER JOIN NOTAS ON ALUMNO.CODALUMNO = NOTAS.CODALUMNO
- INNER JOIN PERIODOS ON PERIODOS.CODPERIODO = NOTAS.CODPERIODO
- INNER JOIN MATERIAS ON MATERIAS.CODMATERIA = NOTAS.CODMATERIA
- INNER JOIN MATRICULA ON ALUMNO.CODALUMNO = MATRICULA.CODALUMNO
- INNER JOIN SECCIONES ON SECCIONES.CODSECCION = MATRICULA.CODSECCION
- INNER JOIN GRADO ON GRADO.CODIGOGRADO = MATRICULA.CODIGOGRADO
- INNER JOIN ESPECIALIDAD ON ESPECIALIDAD.CODESPECIALIDAD = MATRICULA.CODESPECIALIDAD
- WHERE ALUMNO.SEXO=SEX AND ESPECIALIDAD.NOMBRE=OPCION);
- BEGIN
- FOR I IN C_LISTADO LOOP
- DBMS_OUTPUT.PUT_LINE( ' ALUMNO : ' || TO_CHAR(I.NOMBRE) || ' SEXO : ' || TO_CHAR(I.SEXO) );
- END LOOP;
- END Alumnos_Sexo;
- PROCEDURE Cantidad_Alumnos
- IS
- CURSOR C_CANTIDAD IS (SELECT COUNT(*) AS CANTIDAD
- FROM ALUMNO
- INNER JOIN MATRICULA ON ALUMNO.CODALUMNO = MATRICULA.CODALUMNO
- INNER JOIN SECCIONES ON SECCIONES.CODSECCION = MATRICULA.CODSECCION
- INNER JOIN GRADO ON GRADO.CODIGOGRADO = MATRICULA.CODIGOGRADO
- INNER JOIN ESPECIALIDAD ON ESPECIALIDAD.CODESPECIALIDAD = MATRICULA.CODESPECIALIDAD);
- BEGIN
- FOR I IN C_CANTIDAD LOOP
- DBMS_OUTPUT.PUT_LINE(TO_CHAR(I.CANTIDAD) );
- END LOOP;
- END Cantidad_Alumnos;
- PROCEDURE Cantidad_Alumnos(GRADO VARCHAR2, OPCION VARCHAR2)
- IS
- CURSOR C_CANTIDAD IS (SELECT COUNT(*) AS CANTIDAD
- FROM ALUMNO
- INNER JOIN MATRICULA ON ALUMNO.CODALUMNO = MATRICULA.CODALUMNO
- INNER JOIN SECCIONES ON SECCIONES.CODSECCION = MATRICULA.CODSECCION
- INNER JOIN GRADO ON GRADO.CODIGOGRADO = MATRICULA.CODIGOGRADO
- INNER JOIN ESPECIALIDAD ON ESPECIALIDAD.CODESPECIALIDAD = MATRICULA.CODESPECIALIDAD
- WHERE grado.nombre=GRADO AND ESPECIALIDAD.NOMBRE=OPCION);
- BEGIN
- FOR I IN C_CANTIDAD LOOP
- DBMS_OUTPUT.PUT_LINE(TO_CHAR(I.CANTIDAD) );
- END LOOP;
- END Cantidad_Alumnos;
- PROCEDURE Materias_Impartidas(CODIGO INTEGER)
- IS
- CURSOR C_MATERIAS IS (SELECT
- MATERIAS.NOMBRE AS MATERIA,
- GRADO.NOMBRE AS GRADO,
- ESPECIALIDAD.NOMBRE AS ESPECIALIDAD,
- SECCIONES.SECCION
- FROM DOCENTE
- INNER JOIN CARGA_DOCENTE ON DOCENTE.CODDOCENTE = CARGA_DOCENTE.CODDOCENTE
- INNER JOIN SECCIONES ON SECCIONES.CODSECCION = CARGA_DOCENTE.CODSECCION
- INNER JOIN ESPECIALIDAD ON ESPECIALIDAD.CODESPECIALIDAD = CARGA_DOCENTE.CODESPECIALIDAD
- INNER JOIN GRADO ON GRADO.CODIGOGRADO = CARGA_DOCENTE.CODGRADO
- INNER JOIN MATERIAS ON MATERIAS.CODMATERIA = CARGA_DOCENTE.CODMATERIA
- WHERE docente.coddocente=CODIGO);
- BEGIN
- FOR I IN C_MATERIAS LOOP
- DBMS_OUTPUT.PUT_LINE(' MATERIA : ' || TO_CHAR(I.MATERIA) || ' GRADO : ' || TO_CHAR(I.GRADO) ||
- ' ESPECIALIDAD : ' || TO_CHAR(I.ESPECIALIDAD) || ' SECCION : ' || TO_CHAR(I.SECCION));
- END LOOP;
- END Materias_Impartidas;
- PROCEDURE Orientadores_Grados
- IS
- CURSOR C_DOCENTE IS (SELECT DOCENTE.NOMBRE || ' ' ||
- DOCENTE.APELLIDO AS NOMBRE,
- GRADO.NOMBRE AS GRADO,
- ESPECIALIDAD.NOMBRE AS ESPECIALIDAD,
- SECCIONES.SECCION
- FROM DOCENTE
- INNER JOIN ENCARGADOS_GRADO ON DOCENTE.CODDOCENTE = ENCARGADOS_GRADO.CODDOCENTE
- INNER JOIN GRADO ON GRADO.CODIGOGRADO = ENCARGADOS_GRADO.CODGRADO
- INNER JOIN ESPECIALIDAD ON ESPECIALIDAD.CODESPECIALIDAD = ENCARGADOS_GRADO.CODESPECIALIDAD
- INNER JOIN SECCIONES ON SECCIONES.CODSECCION = ENCARGADOS_GRADO.CODSECCION);
- BEGIN
- FOR I IN C_DOCENTE LOOP
- DBMS_OUTPUT.PUT_LINE(' DOCENTE : ' || TO_CHAR(I.NOMBRE) || ' GRADO : ' || TO_CHAR(I.GRADO) ||
- ' ESPECIALIDAD : ' || TO_CHAR(I.ESPECIALIDAD) || ' SECCION : ' || TO_CHAR(I.SECCION));
- END LOOP;
- END Orientadores_Grados;
- PROCEDURE Docente_Notas(CODIGO INTEGER, MAT VARCHAR2, GRAD VARCHAR2,
- OPCION VARCHAR2, PERIDO VARCHAR2)
- IS
- CURSOR C_NOTAS IS (SELECT
- ALUMNO.NOMBRE || ' ' ||
- ALUMNO.APELLIDO AS NOMBRE,
- NOTAS.ACTIVIDAD,
- NOTAS.LABORATORIO,
- NOTAS.EXAMEN,
- GRADO.NOMBRE AS GRADO,
- ESPECIALIDAD.NOMBRE AS ESPECIALIDAD,
- SECCIONES.SECCION,
- PERIODOS.PERIODOO AS PERIODO,
- MATERIAS.NOMBRE AS MATERIA
- FROM DOCENTE
- INNER JOIN CARGA_DOCENTE ON DOCENTE.CODDOCENTE = CARGA_DOCENTE.CODDOCENTE
- INNER JOIN MATERIAS ON MATERIAS.CODMATERIA = CARGA_DOCENTE.CODMATERIA
- INNER JOIN NOTAS ON MATERIAS.CODMATERIA = NOTAS.CODMATERIA
- INNER JOIN PERIODOS ON PERIODOS.CODPERIODO = NOTAS.CODPERIODO
- INNER JOIN SECCIONES ON SECCIONES.CODSECCION = CARGA_DOCENTE.CODSECCION
- INNER JOIN MATRICULA ON SECCIONES.CODSECCION = MATRICULA.CODSECCION
- INNER JOIN ALUMNO ON ALUMNO.CODALUMNO = MATRICULA.CODALUMNO
- AND ALUMNO.CODALUMNO = NOTAS.CODALUMNO
- INNER JOIN GRADO ON GRADO.CODIGOGRADO = CARGA_DOCENTE.CODGRADO
- AND GRADO.CODIGOGRADO = MATRICULA.CODIGOGRADO
- INNER JOIN ESPECIALIDAD ON ESPECIALIDAD.CODESPECIALIDAD = CARGA_DOCENTE.CODESPECIALIDAD
- AND ESPECIALIDAD.CODESPECIALIDAD = MATRICULA.CODESPECIALIDAD
- WHERE DOCENTE.CODDOCENTE=CODIGO AND MATERIAS.NOMBRE=MAT AND GRADO.NOMBRE=GRAD
- AND especialidad.nombre=OPCION AND periodos.periodoo=PERIDO);
- BEGIN
- FOR I IN C_NOTAS LOOP
- DBMS_OUTPUT.PUT_LINE(' ALUMNO : ' || TO_CHAR(I.NOMBRE) || ' ACTIVIDAD : ' || TO_CHAR(I.ACTIVIDAD) ||
- ' LABORATORIO : ' || TO_CHAR(I.LABORATORIO) || ' EXAMEN : ' || TO_CHAR(I.EXAMEN) || ' ESPECIALIDAD : ' ||
- TO_CHAR(I.ESPECIALIDAD) || ' SECCION : ' || TO_CHAR(I.SECCION) || ' PERIODO : ' || TO_CHAR(I.PERIODO) ||
- ' MATERIA : ' || TO_CHAR(I.MATERIA));
- END LOOP;
- END Docente_Notas;
- END CONSULTAS;
- /
- /* LLAMADA A SP PAQUETE CONSULTAS */
- /* 1. LISTAR LOS DOCENTES Y GRADO EN EL CUAL ES RESPONSABLE */
- CALL CONSULTAS.Responsables_Grado();
- CALL CONSULTAS.Responsables_Grado(1,10); /*CON LIMIT DE FILAS */
- /* 2. LISTAR DOCENTES, CON SU RESPECTIVO GRADO,SECCION,ESPECIALIDAD EN EL CUAL ES RESPONSABLE */
- CALL CONSULTAS.Responsables_Grados();
- CALL CONSULTAS.Responsables_Grados(1,10);
- /* 3. Mostrar el Numero de Asignaturas impartidas por cada Docente */
- CALL CONSULTAS.nasignaturas_docente();
- /* 4. MOSTAR EL LISTADO DE MATERIAS ASIGNADAS AL DOCENTE MARCOS ANTONIO EN EL AÑO 2012 */
- CALL CONSULTAS.Docente_Materias('MARCOS ANTONIO',2012);
- /* 5. LISTAR LOS NOMBRES Y APELLIDOS DE LOS ALUMNOS MATRICULADOS EN EL AÑO ACTUAL */
- CALL CONSULTAS.Alumnos_Matriculados();
- CALL CONSULTAS.Alumnos_Matriculados(1,30);
- /* 6. MOSTAR EL NUMERO DE ALUMNOS MATRICULADOS EN EL AÑO ACTUAL */
- CALL CONSULTAS.CantMatriculados_actual();
- /* 7. Mostrar los Alumnos Ordenados por SEXO */
- CALL CONSULTAS.Alumnos_Sexo();
- /* 8.Mostar la Cantidad de Alumnos Matriculados en el Año Actual que sean del Sexo Femenino y Masculino */
- CALL CONSULTAS.CantMatriculados_sexo();
- /* 9 LISTAR TODOS LOS AUMNOS QUE PERTENESCAN A PRIMER AÑO DE BACHILLERATO CON ESPECIALIDAD
- EN ASISTENCIA CONTABLE Y PERTENEZCAN ALA SECCION A */
- CALL CONSULTAS.ListaAlumnos_Grados('PRIMERO','ASISTENCIA CONTABLE','A');
- /* 10 MUESTRA TODAS NOTAS DE MATERIAS POR CODIGO DE ALUMNO */
- CALL CONSULTAS.Notas_Materias(1);
- /* 11 MUESTRA NOTAS DE MATERIAS POR CODIGO DE ALUMNO Y POR PERIODO */
- CALL CONSULTAS.Notas_Materias(1,1);
- /* 12 MUESTRA LAS NOTAS DE TODOS LOS ALUMNOS EN BASE AL CODIGO DE LA MATERIA */
- CALL CONSULTAS.Materias_Notas(1);
- /* 13. NOTAS POR GRADO, ESPECIALIDAD Y SECCION*/
- CALL CONSULTAS.Notas_Grado('SEGUNDO','ASISTENCIA CONTABLE','A');
- /* 14. CUADRO DE NOTAS POR MATERIA, GRADO SECCION Y PERIODO */
- CALL CONSULTAS.Cuadro_Notas('PRIMERO','ASISTENCIA CONTABLE','A','LENGUAJE','I');
- /* 15. ALUMNOS POR SEXO Y ESPECIALIDAD */
- CALL CONSULTAS.Alumnos_Sexo('M','ASISTENCIA CONTABLE');
- /* 16. Cuantos alumnos hay matriculados */
- CALL CONSULTAS.Cantidad_Alumnos();
- /* 17. CUANTOS ALUMNOS HAY EN DETERMINADO GRADO Y ESPECIALIDAD */
- CALL CONSULTAS.Cantidad_Alumnos('PRIMERO','ASISTENCIA CONTABLE');
- /* 18. MATERIAS QUE IMPARTE EL DOCENTE POR GRADO, ESPECIALIDAD Y SECCION */
- CALL CONSULTAS.Materias_Impartidas(1);
- /* 19. MUESTRA LOS PROFESORES ORIENTADORES DE LOS GRADOS POR GRADO, ESPECIALIDAD Y SECCION */
- CALL CONSULTAS.Orientadores_Grados();
- /* 20. MUESTRA LOS NOMBRES Y NOTAS DE ALUMNOS QUE DETERMINADO PROFESOR LES DA POR GRADO, ESPECIALIDAD, SECCION Y MATERIA */
- CALL CONSULTAS.Docente_Notas(2,'LENGUAJE','SEGUNDO','TURISMO','I');
- /* PAQUETE MANTENIMIENTO (UPDATE, DELETE) */
- CREATE OR REPLACE PACKAGE MANTENIMIENTO AS
- PROCEDURE UPDATE_ALUMNO(CODIGO INTEGER,NOMB VARCHAR2,APELL VARCHAR2,
- FECNAC DATE,SEX VARCHAR2,DOMI VARCHAR2,RESPONSABLE VARCHAR2,TEL NUMBER);
- PROCEDURE UPDATE_MATRICULA(CODIGO INTEGER,GRADO NUMBER,SECCION NUMBER,
- ESPECIALIDAD NUMBER);
- PROCEDURE UPDATE_GRADO(CODIGO INTEGER,GRDO VARCHAR2);
- PROCEDURE UPDATE_SECCION(CODIGO INTEGER,NOMBRE VARCHAR2);
- PROCEDURE UPDATE_MATERIAS(CODIGO INTEGER, MATERIA VARCHAR2);
- PROCEDURE UPDATE_PERIODO(CODIGO INTEGER,PERODO VARCHAR2);
- PROCEDURE UPDATE_OPCION(CODIGO INTEGER,ESPECIALIDA VARCHAR2);
- PROCEDURE UPDATE_DOCENTE(CODIGO INTEGER,NOMB VARCHAR2,APELL VARCHAR,FECNAC DATE,
- SEX VARCHAR2,DOMI VARCHAR2,TEL NUMBER);
- PROCEDURE UPDATE_CARGADOCENT(CODIGO INTEGER,MATERIA INTEGER,GRADO INTEGER,
- ESPECIALIDAD INTEGER,SECCION INTEGER);
- PROCEDURE UPDATE_ENCARGADOGRDO(CODIGO INTEGER,GRADO INTEGER,SECCION INTEGER,
- ESPECIALIDAD INTEGER);
- PROCEDURE UPDATE_NOTAS(ID_FILA INTEGER,ACT NUMBER,LAB NUMBER,
- EXAM NUMBER, PERIODO INTEGER);
- PROCEDURE DELETE_ALUMNO(CODIGO INTEGER);
- PROCEDURE DELETE_MATRICULA(CODIGO INTEGER);
- PROCEDURE DELETE_GRADO(CODIGO INTEGER);
- PROCEDURE DELETE_SECCION(CODIGO INTEGER);
- PROCEDURE DELETE_OPCION(CODIGO INTEGER);
- PROCEDURE DELETE_MATERIA(CODIGO INTEGER);
- PROCEDURE DELETE_PERIODO(CODIGO INTEGER);
- PROCEDURE DELETE_DOCENTE(CODIGO INTEGER);
- PROCEDURE DELETE_CARGA(ID_FILA INTEGER);
- PROCEDURE DELETE_ENCARGADO(ID_FILA INTEGER);
- PROCEDURE DELETE_NOTAS(ID_FILA INTEGER);
- END MANTENIMIENTO;
- /
- CREATE OR REPLACE PACKAGE BODY MANTENIMIENTO AS
- PROCEDURE UPDATE_ALUMNO(CODIGO INTEGER,NOMB VARCHAR2,APELL VARCHAR2,
- FECNAC DATE,SEX VARCHAR2,DOMI VARCHAR2,RESPONSABLE VARCHAR2,TEL NUMBER)
- IS
- BEGIN
- UPDATE ALUMNO SET NOMBRE=NOMB,APELLIDO=APELL,FECHA_NACIMIENTO=FECNAC,
- SEXO=SEX,DOMICILIO=DOMI,ENCARGADO=RESPONSABLE,TELEFONO=TEL WHERE CODALUMNO=CODIGO;
- END UPDATE_ALUMNO;
- PROCEDURE UPDATE_MATRICULA(CODIGO INTEGER,GRADO NUMBER,SECCION NUMBER,
- ESPECIALIDAD NUMBER)
- IS
- BEGIN
- UPDATE MATRICULA SET CODIGOGRADO=GRADO,CODSECCION=SECCION,
- CODESPECIALIDAD=ESPECIALIDAD WHERE CODALUMNO=CODIGO;
- END UPDATE_MATRICULA;
- PROCEDURE UPDATE_GRADO(CODIGO INTEGER,GRDO VARCHAR2)
- IS
- BEGIN
- UPDATE GRADO SET NOMBRE=GRDO WHERE CODIGOGRADO=CODIGO;
- END UPDATE_GRADO;
- PROCEDURE UPDATE_SECCION(CODIGO INTEGER,NOMBRE VARCHAR2)
- IS
- BEGIN
- UPDATE SECCIONES SET SECCION=NOMBRE WHERE CODSECCION=CODIGO;
- END UPDATE_SECCION;
- PROCEDURE UPDATE_MATERIAS(CODIGO INTEGER, MATERIA VARCHAR2)
- IS
- BEGIN
- UPDATE MATERIAS SET NOMBRE=MATERIA WHERE CODMATERIA=CODIGO;
- END UPDATE_MATERIAS;
- PROCEDURE UPDATE_PERIODO(CODIGO INTEGER,PERODO VARCHAR2)
- IS
- BEGIN
- UPDATE PERIODOS SET PERIODOO=PERODO WHERE CODPERIODO=CODIGO;
- END UPDATE_PERIODO;
- PROCEDURE UPDATE_OPCION(CODIGO INTEGER,ESPECIALIDA VARCHAR2)
- IS
- BEGIN
- UPDATE ESPECIALIDAD SET NOMBRE=ESPECIALIDA WHERE CODESPECIALIDAD=CODIGO;
- END UPDATE_OPCION;
- PROCEDURE UPDATE_DOCENTE(CODIGO INTEGER,NOMB VARCHAR2,APELL VARCHAR,FECNAC DATE,
- SEX VARCHAR2,DOMI VARCHAR2,TEL NUMBER)
- IS
- BEGIN
- UPDATE DOCENTE SET NOMBRE=NOMB,APELLIDO=APELL,FECHA_NACIMIENTO=FECNAC,
- SEXO=SEX,DOMICILIO=DOMI,TELEFONO=TEL WHERE CODDOCENTE=CODIGO;
- END UPDATE_DOCENTE;
- PROCEDURE UPDATE_CARGADOCENT(CODIGO INTEGER,MATERIA INTEGER,GRADO INTEGER,
- ESPECIALIDAD INTEGER,SECCION INTEGER)
- IS
- BEGIN
- UPDATE CARGA_DOCENTE SET CODGRADO=GRADO,CODESPECIALIDAD=ESPECIALIDAD,
- CODSECCION=SECCION WHERE CODDOCENTE=CODIGO AND CODMATERIA=MATERIA;
- END UPDATE_CARGADOCENT;
- PROCEDURE UPDATE_ENCARGADOGRDO(CODIGO INTEGER,GRADO INTEGER,SECCION INTEGER,
- ESPECIALIDAD INTEGER)
- IS
- BEGIN
- UPDATE ENCARGADOS_GRADO SET CODGRADO=GRADO,CODSECCION=SECCION,
- CODESPECIALIDAD=ESPECIALIDAD WHERE CODDOCENTE=CODIGO;
- END UPDATE_ENCARGADOGRDO;
- PROCEDURE UPDATE_NOTAS(ID_FILA INTEGER,ACT NUMBER,LAB NUMBER,
- EXAM NUMBER, PERIODO INTEGER)
- IS
- BEGIN
- UPDATE NOTAS SET ACTIVIDAD=ACT,LABORATORIO=LAB,EXAMEN=EXAM,CODPERIODO=PERIODO
- WHERE ID=ID_FILA;
- END UPDATE_NOTAS;
- PROCEDURE DELETE_ALUMNO(CODIGO INTEGER)
- IS
- BEGIN
- DELETE FROM ALUMNO WHERE CODALUMNO=CODIGO;
- END DELETE_ALUMNO;
- PROCEDURE DELETE_MATRICULA(CODIGO INTEGER)
- IS
- BEGIN
- DELETE FROM MATRICULA WHERE CODALUMNO=CODIGO;
- END DELETE_MATRICULA;
- PROCEDURE DELETE_GRADO(CODIGO INTEGER)
- IS
- BEGIN
- DELETE FROM GRADO WHERE CODIGOGRADO=CODIGO;
- END DELETE_GRADO;
- PROCEDURE DELETE_SECCION(CODIGO INTEGER)
- IS
- BEGIN
- DELETE FROM SECCIONES WHERE CODSECCION=CODIGO;
- END DELETE_SECCION;
- PROCEDURE DELETE_OPCION(CODIGO INTEGER)
- IS
- BEGIN
- DELETE FROM ESPECIALIDAD WHERE CODESPECIALIDAD=CODIGO;
- END DELETE_OPCION;
- PROCEDURE DELETE_MATERIA(CODIGO INTEGER)
- IS
- BEGIN
- DELETE FROM MATERIAS WHERE CODMATERIA=CODIGO;
- END DELETE_MATERIA;
- PROCEDURE DELETE_PERIODO(CODIGO INTEGER)
- IS
- BEGIN
- DELETE FROM PERIODOS WHERE CODPERIODO=CODIGO;
- END DELETE_PERIODO;
- PROCEDURE DELETE_DOCENTE(CODIGO INTEGER)
- IS
- BEGIN
- DELETE FROM DOCENTE WHERE CODDOCENTE=CODIGO;
- END DELETE_DOCENTE;
- PROCEDURE DELETE_CARGA(ID_FILA INTEGER)
- IS
- BEGIN
- DELETE FROM CARGA_DOCENTE WHERE ID=ID_FILA;
- END DELETE_CARGA;
- PROCEDURE DELETE_ENCARGADO(ID_FILA INTEGER)
- IS
- BEGIN
- DELETE FROM ENCARGADOS_GRADO WHERE ID=ID_FILA;
- END DELETE_ENCARGADO;
- PROCEDURE DELETE_NOTAS(ID_FILA INTEGER)
- IS
- BEGIN
- DELETE FROM NOTAS WHERE ID=ID_FILA;
- END DELETE_NOTAS;
- END MANTENIMIENTO;
- /
Advertisement
Add Comment
Please, Sign In to add comment