Las vistas son tablas virtuales ‘que contienen’ el resultado de una consulta SELECT, tienen la misma estructura que una tabla cualquiera, es decir, están organizadas por filas y columnas. Una de las principales ventajas de utilizar vistas procede del hecho de que la vista no almacena los datos, sino que hace referencia a una o varias tablas de origen mediante una consulta SELECT, consulta que se ejecuta cada vez que se hace referencia a la vista. De esta forma, cualquier modificación que se realice sobre los datos de las tablas de origen es inmediatamente visible en la vista, cuando ésta vuelva a ejecutarse. Su sintaxis es:



Índice

CREATE [OR REPLACE] VIEW Nombre_vista
[(Lista de columnas)]
AS SELECT[...]

La opción REPLACE, lo que hace es, reemplazar la vista en el caso de que esta ya exista. Las vistas se utilizan de forma análoga a las tablas, permitiendo realizar consultas sobre las vistas, también se pueden realizar sentencias DML sobre las vistas, sin embargo, las modificaciones, borrados e inserciones están restringidas a vistas que estén definidas sobre una única tabla.

-- Vista para mostrar datos de departamentos y empleados
CREATE OR REPLACE VIEW my_emp_view AS
SELECT d.department_id, d.department_name,
  e.employee_id, e.first_name, e.last_name
  FROM employees e
  JOIN departments d ON d.manager_id = e.employee_id;

Vistas interactivas.

Son vistas que se definen sin utilizar el comando CREATE VIEW, sino directamente sobre el comando SELECT. Por ejemplo:

SELECT cCodCli, cNomCli, Importe
     FROM Clientes C,(SELECT SUM (Cantidad*Precio) AS Importe
        FROM Articulos a, LinPedidos l
        WHERE a.cCodArt = l.cCodArt
        GROUP BY nPedido) LP,
   Pedidos P
     WHERE c.cCodCli = p.cCodCli AND p.nPedido = LP.nPedido ;

En el caso anterior, LP actúa como una vista interactiva.

Borrado de una vista.

La orden para borrar una vista es DROP VIEW. Su sintaxis es:

DROP VIEW Nombre_vista

Siguiente Tema: Lenguaje Definición de Datos (DDL) - Índices y secuencias