En SQL Server, puede guardar una consulta como una vista. Las vistas son beneficiosas por muchas razones, incluidas la seguridad, la facilidad de uso y la comodidad.
En SQL Server, una vista es una tabla virtual cuyo contenido se define mediante una consulta. Básicamente es una consulta escrita previamente que se almacena en la base de datos.
Una vista consta de un SELECT
declaración, y cuando ejecuta una consulta en la vista, ve los resultados de la misma como lo haría al abrir una tabla. Las vistas se denominan tablas virtuales porque pueden reunir datos de varias tablas, así como datos agregados, y presentarlos como si se tratara de una sola tabla.
Beneficios de las vistas
Una vista puede ser útil cuando hay múltiples usuarios con diferentes niveles de acceso, quienes necesitan ver partes de los datos en la base de datos (pero no necesariamente todos los datos). Las vistas pueden hacer lo siguiente:
- Restringir el acceso a filas específicas en una tabla
- Restringir el acceso a columnas específicas en una tabla
- Une columnas de varias tablas y preséntalas como si fueran parte de una sola tabla
- Presenta información agregada (como los resultados del
COUNT()
función)
Cómo crear una vista
Para crear una vista, use CREATE VIEW
instrucción, seguida de SELECT
declaración.
CREATE VIEW ViewName AS SELECT ...
Eso es todo al respecto. Cuando ejecuta esa instrucción, la vista se guarda en la base de datos
Ejemplo
Este es un ejemplo de cómo crear una vista y luego seleccionar datos de esa vista.
-
Crear la vista
Ejecute la siguiente declaración en la base de datos de Música que hemos creado a lo largo de este tutorial.
Este ejemplo crea una vista llamada RockAlbums. Selecciona todos los álbumes a los que se les ha asignado un Género de "Rock".
CREATE VIEW RockAlbums AS SELECT AlbumName, ArtistName FROM Albums INNER JOIN Artists ON Albums.ArtistId = Artists.ArtistId INNER JOIN Genres ON Albums.GenreId = Genres.GenreId WHERE Genres.Genre = 'Rock';
-
Ver la vista
Expanda las Vistas debajo de la base de datos correspondiente para ver la vista recién creada. También puede expandir los nodos de la vista para ver las columnas que se incluyen en su definición.
-
Ejecutar la vista
Ahora que se ha creado la vista, puede ejecutarla usando
SELECT
declaración. Puede seleccionar todo, o puede seleccionar columnas específicas, restringir aún más los resultados conWHERE
cláusula, etc.SELECT * FROM RockAlbums;
Modificar una vista
Puedes modificar tu vista con ALTER VIEW
declaración.
Todo lo que tiene que hacer es proporcionar la nueva definición de vista que le gustaría usar. Es casi como crear una nueva vista con CREATE VIEW
excepto que está alterando una existente con ALTER VIEW
declaración.
He aquí un ejemplo.
-
Alterar la vista
Ejecute la siguiente instrucción. Esto agrega una nueva columna a la selección de la vista (la
ReleaseDate
columna).ALTER VIEW RockAlbums AS SELECT AlbumName, ArtistName, ReleaseDate FROM Albums INNER JOIN Artists ON Albums.ArtistId = Artists.ArtistId INNER JOIN Genres ON Albums.GenreId = Genres.GenreId WHERE Genres.Genre = 'Rock';
-
Ejecutar la vista
Ahora que hemos agregado la
ReleaseDate
columna a la vista, podemos usar eso en nuestras consultas SQL contra la vista.Por ejemplo, podemos seleccionar todos los álbumes donde la fecha de lanzamiento sea posterior a una fecha determinada.
SELECT * FROM RockAlbums WHERE ReleaseDate > '1985-01-01';