La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

PUESTO-TRABAJO (Código-Puesto, Empresa, Sueldo, DNI- Contratado) TITULADO (DNI-Titulado, Nombre, Apellidos, Dirección) TITULACION (Iden-Titulación, Nombre,

Presentaciones similares


Presentación del tema: "PUESTO-TRABAJO (Código-Puesto, Empresa, Sueldo, DNI- Contratado) TITULADO (DNI-Titulado, Nombre, Apellidos, Dirección) TITULACION (Iden-Titulación, Nombre,"— Transcripción de la presentación:

1 PUESTO-TRABAJO (Código-Puesto, Empresa, Sueldo, DNI- Contratado) TITULADO (DNI-Titulado, Nombre, Apellidos, Dirección) TITULACION (Iden-Titulación, Nombre, Plan) TENER (DNI-Titulado, Iden-Titulación, Universidad, Año) REQUERIR (Código-Puesto, Iden-Titulación) Un titulado sólo puede ser contratado en un puesto de trabajo si tiene la titulación requerida para ese puesto

2 CREATE TRIGGER Ejemplo1 AFTER INSERT OR UPDATE OF DNI-Contratado ON Puesto-Trabajo FOR EACH ROW WHEN (NEW.DNI-Contratado is NOT NULL) DECLARE Titulo-Poseido Tener.Iden_Titulacion%TYPE; Titulo-Necesario Requerir.Iden-Titulacion%TYPE; BEGIN SELECT Iden-Titulacion INTO Titulo-Poseido FROM Tener WHERE DNI-Titulado = :NEW.DNI-Contratado; SELECT Iden-Titulacion INTO Titulo-Necesario FROM Requerir WHERE Codigo-Puesto = :NEW.Codigo-Puesto; IF (Titulo-Poseido <> Titulo-Necesario) THEN RAISE_APPLICATION_ERROR(-20000, ‘No tiene la titulación suficiente'); END IF; END;

3 CREATE Or REPLACE TRIGGER Ejemplo2 AFTER INSERT OR UPDATE OF DNI_Contratado ON Puesto FOR EACH ROW WHEN (NEW.DNI_Contratado is NOT NULL) DECLARE Datos Tener%ROWTYPE; CURSOR cc IS SELECT * FROM Tener WHERE Iden_Titulacion in (SELECT Iden_Titulacion FROM Requerir WHERE Codigo_Puesto = :NEW.Codigo_Puesto) AND Dni_Titulado = :NEW.Dni_Contratado; BEGIN OPEN cc; FETCH cc INTO Datos; IF cc%NOTFOUND THEN RAISE_APPLICATION_ERROR(-20000, ‘No tiene la titulación suficiente'); END IF; END; /

4 ALUMNO (DNI, Nombre, FechaNacimiento) ASIGNATURA (CódigoAsignatura, Titulación, Curso, ÁreaConocimiento) MATRICULA (DNI, CódigoAsignatura, Cuatrimestre, Nota) LIBRO-USADO (CódigoAsignatura, Cuatrimestre, ISBN) LIBRO (ISBN, Título, Autor, Editorial) 1.Ningún alumno matriculado en el curso ‘2003’ ha nacido con posterioridad al año 1980. 2.Los libros utilizados en cualquier asignatura figuran en el catálogo de libros


Descargar ppt "PUESTO-TRABAJO (Código-Puesto, Empresa, Sueldo, DNI- Contratado) TITULADO (DNI-Titulado, Nombre, Apellidos, Dirección) TITULACION (Iden-Titulación, Nombre,"

Presentaciones similares


Anuncios Google