Introduction to Oracle: SQL and PL/SQL, Instructor Guide, Volumen 1
Práctica 12: Creando Vistas --------------------------------------------------------------------
Ejercicio 1: Cree una vista llamada EMP_VU basada en el número de empleado, el nombre d el empleado, y el número de departamento desde la tabla EMP. Cambie el encabezado para el nombre de emple ado a EMPLOYEE. SQL>
CREATE VIEW EM P _V U ( empno, EMPLOYEE, deptno) AS SELECT empno, ename, deptno FR O M E MP ;
Ejercicio 2: Muestre el contenido de la vista EMP_VU. SQL>
S E L EC T F RO M
* E MP _ VU ;
Ejercicio 3: Seleccione el nombre y el texto de la vista desde la tabla USER_VIEWS de l Diccionario de Datos. SQ L >
C O LU M N
V IE W _N A ME
FORMAT A30
SQ L >
C O LU M N
T EX T
FORMAT A50
SQ L >
S E LE C T F RO M W HE R E
VIEW_NAME, TEXT U SE R _V I EW S VIEW_NAME = 'EMP_VU _VU';
Ejer Ejerci cici cio o 4: Usan Usando do la la vist vista a EMP_ EMP_VU VU ingr ingres ese e una una cons consul ulta ta que que mue muest stre re tod todos os lo lo s nombres de empleados y números de departamentos. SQL> SQL>
SELE SELECT CT F RO M
EMPL EMPLOY OYEE EE, , DEPT DEPTNO NO E MP _ VU ;
Ejer Ejerci cici cio o 5: Cree Cree una una vis vista ta nom nombr brán ándo dola la DEPT DEPT20 20 que que con conte teng nga a el núm númer ero o de emp emple lead ado o , el nombre de empleado, y el número de departamento para todos los empleados del departamento 20. Etiquete las colum nas de la vista EMPLOYEE_ID, EMPLOYEE, y DEPARTMENT_ID. No permita que un empleado sea reasignado a otro departamento po r medio de la vista.
SQ L >
Ejer Ejerci cici cio o 6: 6:
CREATE VIEW D E PT 2 0 ( EMPLOYEE_ID, EMPLOYEE, DEPARTMENT_ID ) AS SELECT empno, ename, deptno FR O M E MP WH E RE deptno = 20 WITH CHECK OPTION C O NS T RA I NT DE P T2 0 _C K ; Mues Muestr tre e la la est estru ruct ctur ura a y el con conte teni nido do del del la la vis vista ta DEPT DEPT20 20. .
SQ L >
D E SC
D E PT 2 0
SQ L >
S E LE C T F RO M
* D EP T 20 ;
Ejer Ejerci cici cio o 7: 7:
Inte Intent nte e rea reasi sign gnar ar al emple emplead ado o Smi Smith th en el depa depart rtam amen ento to 30. 30. Ayuda: El número de empleado de Smith es 7863 (en mi base de datos
). SQ L >
U P DA T E S ET W HE R E
D EP T 20 DEPARTMENT_ID = 30 EMPLOYEE_ID = 7863; 63;
Resultado: ---------" ORA-01402: Violación de cláusula WHERE en la vista WITH CHECK OPTION " Si tiene tiempo, complete el ejercicio siguiente: Ejer Ejerci cici cio o 8: Cree Cree una una vis vista ta lla llama mada da SALA SALARY RY_V _VU U basa basada da en en el nomb nombre re del del emp emple lead ad o, el nombre del departamento, el salario del empleado y el grado de salario del empleado; para todos los empleados. Et iquete las columnas de la vista EMPLOYEE, DEPARTMENT, SALARY, y GRADE respectiva mente. SQ L >
CREATE VIEW S A LA R Y _V U ( EMPLOYEE, DEPARTMENT, SALARY, GRADE ) AS SELECT e.ename, d.dname, e.sal, s.grade FR O M EMP e, DEPT d, SALGRADE s WH E RE e.deptno = d.deptno AN D e.sal BETWEEN s.losal AND s.hisal;
SQ L >
S E LE C T F RO M
* S AL A RY _ VU ;