Uso de variables de sustitución en sql - oracle sql
No se le permite a los usuarios trabajar de primera mano sobre las tablas y los motivos son:
- Por la seguridad, ya que podemos eliminar datos importantes.
- Prevenir errores del usuario.
Para lo cual se les ofrece las vistas. Una vista, aunque se parezca a una tabla no lo es. Es una consulta a una o varias tablas a las que se le asigna un nombre. Nos permitirá que los datos de la consulta los podamos tratar como si fuese una tabla.
Características de la estructura de una vista:
- No es de obligación que la vista tenga todas las columnas de una tabla.
- Le vamos a poder asignar la columna o columnas que deseemos de una o varias tablas.
- No es de obligación que contenga todos los registros de las tablas.
- Podemos crear filtrando los registros.
- La vista realmente no contiene datos físicos, lo que consulta la tabla para recuperar los datos.
- Cuando se realiza una operación DML sobre una vista, realmente se aplica a las tablas origen.
Con las vistas se ofrece al usuario final:
- Mejorar la comprensión de los datos de las tablas, utilizando nombres de columnas más simples o intuitivas.
Existen 2 tipos de vistas:
- Vistas simples: se crean con los datos de una única tabla y se le puede realizar sentencia DML.
- Vistas complejas: Se crean con los datos de una o varias tablas utilizando joins. Generalmente no se le puede realizar sentencias DML.
Creación y opciones de vistas: Sintaxis:
- CREATE [or REPLACE] [FORCE | NOFORCE] VIEW nombre_vista AS subconsulta [WITH CHECK OPTION [CONSTRAINT nombre_restriccion]] [WITH READ ONLY [CONSTRAINT nombre_restriccion]]
Opciones:
- OR REPLACE: suplanta la vista, si esta ya esta creada.
- FORCE / NOFORCE: nos obliga a crear la vista aunque la tabla origen no exista.
- WITH CKECK OPTION: si la vista se crea usando la cláusula WHERE , no nos permitirá realizar INSERT o UPDATES sobre registros que no son accesibles con la vista.
- WITH READ ONLY: solo nos permitirá realizar consultas sobre la vista, es decir impide realizar INSERT, UPDATE o DELETES.
- CONSTRAINT: nos permite poner nombres a las restricciones para hacer más legibles los mensajes de error asociados a su violación.








Modificación y opciones de vistas: Sintaxis:
- ALTER VIEW nombrevista [ADD | DROP RESTRICCION | COMPILE],
Opciones:
- ADD: se usa para añadir una restricción a la vista.
- MODIFY CONSTRAINT: se usa para borrar una restricción a la vista.
- COMPILE: se usa para recompilar la vista.
Eliminación de vistas: Sintaxis:

Consultando una vista: Sintaxis:
- SELECT * From nombrevista.
- Ejemplo: SELECT * From emp_details_view ORDER BY job_title,