Creación, modificación y supresión de vistas con SQL.
Creación y uso de vistas
No contienen información por si mismas, sino que están basadas en las que contienen otras tablas y refleja los datos de estas.
Si se suprime una tabla la vista asociada se invalida. Formato:
CREATE [OR REPLACE] VIEW NOMBREVISTA
[(COLUMNA [,COLUMNA])]
AS CONSULTA;
AS CONSULTA= Determina las columnas y las tablas que aparecerán en la vista.
[OR REPLACE]= Crea de nuevo la vista si ya existía.
Para consultar la vista creada, USER_VIEWS:
SELECT VIEW_NAME FROM
Borrado de vistas
Se hace con DROP VIEW. Formato:
DROP VIEW NOMBREVISTA;
Operaciones sobre vistas
Se pueden realizar las mismas operaciones que se hacen sobre las tablas. Restricciones:
Cambios de nombre
RENAME cambia el nombre de una tabla, vista o sinónimo. El nuevo nombre no puede ser una palabra reservada ni el nombre de un objeto que tenga creado el usuario. Las restricciones de integridad, los índices y los permisos dados al objeto se transfieren automáticamente al nuevo objeto.
REANME NOMBRE_ANTERIOR TO NOMBRE_NUEVO;
Con esta orden no podemos renombrar columnas de una tabla, estas se renombran mediante CREATE TABLE AS
No contienen información por si mismas, sino que están basadas en las que contienen otras tablas y refleja los datos de estas.
Si se suprime una tabla la vista asociada se invalida. Formato:
CREATE [OR REPLACE] VIEW NOMBREVISTA
[(COLUMNA [,COLUMNA])]
AS CONSULTA;
AS CONSULTA= Determina las columnas y las tablas que aparecerán en la vista.
[OR REPLACE]= Crea de nuevo la vista si ya existía.
Para consultar la vista creada, USER_VIEWS:
SELECT VIEW_NAME FROM
Nota: al borrar las tablas, las vistas de esas tablas no se borran y quedan inutilizadas. |
Borrado de vistas
Se hace con DROP VIEW. Formato:
DROP VIEW NOMBREVISTA;
Operaciones sobre vistas
Se pueden realizar las mismas operaciones que se hacen sobre las tablas. Restricciones:
- Actualización Si una vista esta basada en una sola tabla, se pueden modificar las filas de la vista.
- La modificación de la vista cambia la tabla sobre la que esta definida.
- Borrado de filas a través de una vista= Para borrar filas de una tabla a través de una vista, esta se debe crear:
- Con filas de una sola tabla.
- Sin utilizar la cláusula GROUP BY ni DISTINCT.
- Sin usar funciones de grupo o referencias a pseudocolumnas.
- Actualización de filas a través de una vista: Para actualizar filas en una tabla a través de una vista, esta ha de estar definida según las restricciones anteriores y , además, ninguna de las columnas que se va a actualizar se habrá definido como una expresión.
- Inserción de filas a través de una vista: Para insertar filas en una tabla a través de una vista se han de tener en cuenta todas las restricciones anteriores y, además, todas las columnas obligatorias de la tabla asociada deben estar presentes en la vista.
- Manejo de expresiones y de funciones en vistas: Se pueden crear vistas usando funciones, expresiones en columnas y consultas avanzadas pero únicamente se parean consultar estas vistas. También podemos modificar filas siempre y cuando la columna que se va a modificar no sea la columna expresad en forma de cálculo o con funciones.
Nota: No es posible insertar filas si las columnas de la vista contiene cálculos o funciones. |
Cambios de nombre
RENAME cambia el nombre de una tabla, vista o sinónimo. El nuevo nombre no puede ser una palabra reservada ni el nombre de un objeto que tenga creado el usuario. Las restricciones de integridad, los índices y los permisos dados al objeto se transfieren automáticamente al nuevo objeto.
REANME NOMBRE_ANTERIOR TO NOMBRE_NUEVO;
Con esta orden no podemos renombrar columnas de una tabla, estas se renombran mediante CREATE TABLE AS
Agustin Jareño