Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Utwórz widok w SQL Server 2017

W SQL Server możesz zapisać zapytanie jako widok. Widoki są korzystne z wielu powodów, w tym bezpieczeństwa, użyteczności i wygody.

W SQL Server widok to wirtualna tabela, której zawartość jest definiowana przez zapytanie. Jest to w zasadzie wstępnie napisane zapytanie, które jest przechowywane w bazie danych.

Widok składa się z SELECT instrukcji, a kiedy uruchamiasz zapytanie względem widoku, widzisz jego wyniki tak, jak podczas otwierania tabeli. Widoki są określane jako tabele wirtualne, ponieważ mogą gromadzić dane z wielu tabel, a także agregować dane i przedstawiać je tak, jakby była to pojedyncza tabela.

Zalety widoków

Widok może być przydatny, gdy istnieje wielu użytkowników o różnych poziomach dostępu, z których wszyscy muszą widzieć części danych w bazie danych (ale niekoniecznie wszystkie dane). Widoki mogą wykonywać następujące czynności:

  • Ogranicz dostęp do określonych wierszy w tabeli
  • Ogranicz dostęp do określonych kolumn w tabeli
  • Połącz kolumny z wielu tabel i prezentuj je tak, jakby były częścią jednej tabeli
  • Przedstawiaj informacje zbiorcze (takie jak wyniki COUNT() funkcja)

Jak utworzyć widok

Aby utworzyć widok, użyj CREATE VIEW instrukcja, po której następuje SELECT oświadczenie.

CREATE VIEW ViewName 
AS
SELECT ...

To wszystko. Po uruchomieniu tej instrukcji widok jest zapisywany w bazie danych

Przykład

Oto przykład tworzenia widoku, a następnie wybierania danych z tego widoku.

  1. Utwórz widok

    Uruchom następującą instrukcję w bazie danych muzyki, którą utworzyliśmy w tym samouczku.

    Ten przykład tworzy widok o nazwie RockAlbums. Wybiera wszystkie albumy, którym przypisano gatunek „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. Wyświetl widok

    Rozwiń Widoki węzła pod odpowiednią bazą danych, aby zobaczyć nowo utworzony widok. Możesz także rozwinąć węzły widoku, aby zobaczyć kolumny zawarte w jego definicji.

  3. Uruchom widok

    Teraz, gdy widok został utworzony, możesz go uruchomić za pomocą SELECT oświadczenie. Możesz wybrać wszystko lub możesz wybrać określone kolumny, zawęzić wyniki dalej za pomocą WHERE klauzula itp.

    SELECT * 
    FROM RockAlbums;

Zmień widok

Możesz zmodyfikować swój widok za pomocą ALTER VIEW oświadczenie.

Wystarczy, że podasz nową definicję widoku, której chcesz użyć. Więc to prawie jak tworzenie nowego widoku za pomocą CREATE VIEW instrukcja, z wyjątkiem tego, że zmienia istniejącą za pomocą ALTER VIEW oświadczenie.

Oto przykład.

  1. Zmień widok

    Uruchom następującą instrukcję. Spowoduje to dodanie nowej kolumny do wyboru widoku (ReleaseDate kolumna).

    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. Uruchom widok

    Teraz, gdy dodaliśmy ReleaseDate kolumny do widoku, możemy użyć tego w naszych zapytaniach SQL względem widoku.

    Na przykład możemy wybrać wszystkie albumy, których data wydania przypada po określonej dacie.

    SELECT * 
    FROM RockAlbums
    WHERE ReleaseDate > '1985-01-01';

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak korzystać z szablonów w SQL Server Management Studio (SSMS) — samouczek SQL Server / TSQL część 16

  2. Jak włączyć/wyłączyć dostęp do danych w SQL Server (przykład T-SQL)

  3. Jak przeszukać bazę danych SQL Server w poszukiwaniu ciągu?

  4. Konwertuj „smalldatetime” na „datetimeoffset” w SQL Server (przykłady T-SQL)

  5. Co robi transakcja wokół pojedynczego wyciągu?