Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Criar uma exibição no SQL Server 2017


No SQL Server, você pode salvar uma consulta como uma exibição. As visualizações são benéficas por vários motivos, incluindo segurança, usabilidade e conveniência.

No SQL Server, uma visualização é uma tabela virtual cujo conteúdo é definido por uma consulta. É basicamente uma consulta pré-escrita que é armazenada no banco de dados.

Uma visualização consiste em um SELECT e quando você executa uma consulta na exibição, vê os resultados dela como faria ao abrir uma tabela. As exibições são chamadas de tabelas virtuais porque podem reunir dados de várias tabelas, bem como dados agregados, e apresentá-los como se fosse uma única tabela.

Benefícios das visualizações


Uma visualização pode ser útil quando há vários usuários com diferentes níveis de acesso, que precisam ver partes dos dados no banco de dados (mas não necessariamente todos os dados). As visualizações podem fazer o seguinte:
  • Restringir o acesso a linhas específicas em uma tabela
  • Restringir o acesso a colunas específicas em uma tabela
  • Junte colunas de várias tabelas e apresente-as como se fossem parte de uma única tabela
  • Apresente informações agregadas (como os resultados do COUNT() função)

Como criar uma visualização


Para criar uma visualização, use o CREATE VIEW instrução, seguida pelo SELECT demonstração.
CREATE VIEW ViewName 
AS
SELECT ...

Isso é tudo o que há para isso. Quando você executa essa instrução, a exibição é salva no banco de dados

Exemplo


Aqui está um exemplo de como criar uma visualização e, em seguida, selecionar dados dessa visualização.
  1. Criar a visualização


    Execute a instrução a seguir no banco de dados Music que criamos ao longo deste tutorial.

    Este exemplo cria uma exibição chamada RockAlbums. Ele seleciona todos os álbuns que foram atribuídos a um 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';
  2. Visualizar a Visualização


    Expanda as Visualizações node sob o banco de dados aplicável para ver sua visualização recém-criada. Você também pode expandir os nós da exibição para ver as colunas incluídas em sua definição.
  3. Executar a visualização


    Agora que a visualização foi criada, você pode executá-la usando um SELECT demonstração. Você pode selecionar tudo ou pode selecionar colunas específicas, restringir ainda mais os resultados com um WHERE cláusula, etc
    SELECT * 
    FROM RockAlbums;

Alterar uma visualização


Você pode modificar sua visualização com o ALTER VIEW demonstração.

Tudo o que você faz é fornecer a nova definição de visualização que gostaria de usar. Portanto, é quase como criar uma nova visualização com o CREATE VIEW instrução exceto que está alterando uma existente com o ALTER VIEW demonstração.

Aqui está um exemplo.
  1. Alterar a visualização


    Execute a seguinte instrução. Isso adiciona uma nova coluna à seleção da exibição (o ReleaseDate coluna).
    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';
  2. Executar a visualização


    Agora que adicionamos o ReleaseDate coluna para a exibição, podemos usar isso em nossas consultas SQL na exibição.

    Por exemplo, podemos selecionar todos os álbuns cuja data de lançamento é posterior a uma determinada data.
    SELECT * 
    FROM RockAlbums
    WHERE ReleaseDate > '1985-01-01';