Está en la página 1de 2

DROP TABLE Empleados2;

CREATE TABLE Empleados2


AS
(SELECT Emp_Id, Emp_Nombre, Emp_Cargo, Emp_FechaContrato,
Emp_Salario, Dep_ID
FROM Empleados);

SELECT *
FROM empleados2;

SET PAGESIZE 100

--------- VISTA SIMPLE CON WITH CHECK OPTION ---------


CREATE OR REPLACE VIEW EmpleadosDel30 AS
SELECT Emp_Id, Emp_Nombre, Emp_Cargo,
Emp_FechaContrato, Emp_Salario,
Dep_ID
FROM Empleados2
WHERE Dep_Id = 30
WITH CHECK OPTION;

SELECT *
FROM empleados2;
SELECT *
FROM EmpleadosDel30;

Se puede sobre esta vista


--Insertar un empleado que pertenezca al mismo departamento de la restricción de la
--vista (WITH CHECK OPTION).
INSERT INTO EmpleadosDel30
VALUES (9000,'Prueba', 'VENDEDOR', '01/01/01', 1000000, 30);

SELECT *
FROM empleados2;
SELECT *
FROM EmpleadosDel30;

--Actualizar un empleado que pertenezca al mismo departamento de la restricción de la


--vista (WITH CHECK OPTION)
UPDATE EmpleadosDel30
SET Emp_Salario =1500000
WHERE Emp_Id=9000;

SELECT *
FROM empleados2;
SELECT *
FROM EmpleadosDel30;

--Eliminar un empleado que pertenezcan al mismo departamento de la restricción de la


--restricción de la vista (WITH CHECK OPTION).
DELETE FROM EmpleadosDel30
WHERE Emp_Id=9000;

SELECT *
FROM empleados2;
SELECT *
FROM EmpleadosDel30;

NO se puede sobre esta vista


--Insertar un empleado que pertenezca a un departamento diferente al de la restricción
--de la vista (WITH CHECK OPTION).
INSERT INTO EmpleadosDel30
VALUES (8000,'PRUEBA2', 'OFICINISTA', '08/09/03', 1000000, 20);

SELECT *
FROM empleados2;

--Actualizar un empleado que pertenezca a un departamento diferente al de la restricción


--de la vista (WITH CHECK OPTION)
UPDATE EmpleadosDel30
SET Emp_Salario =1500000
WHERE Emp_Id=6000;

SELECT *
FROM empleados2;

--Eliminar un empleado que pertenezcan a un departamento diferente al de la restricción


--de la vista (WITH CHECK OPTION).
DELETE FROM EmpleadosDel30
WHERE Emp_Id=6000;

SELECT *
FROM empleados2;

También podría gustarte