sql >> Database teknologi >  >> RDS >> Sqlserver

Opret en visning i SQL Server 2017

I SQL Server kan du gemme en forespørgsel som en visning. Visninger er gavnlige af mange årsager, herunder sikkerhed, brugervenlighed og bekvemmelighed.

I SQL Server, en visning er en virtuel tabel, hvis indhold er defineret af en forespørgsel. Det er dybest set en forudskrevet forespørgsel, der er gemt i databasen.

En visning består af en SELECT sætning, og når du kører en forespørgsel mod visningen, ser du resultaterne af den, som du ville, når du åbner en tabel. Visninger omtales som virtuelle tabeller, fordi de kan samle data fra flere tabeller såvel som aggregerede data og præsentere det, som om det er en enkelt tabel.

Fordele ved visninger

En visning kan være nyttig, når der er flere brugere med forskellige adgangsniveauer, som alle har brug for at se dele af dataene i databasen (men ikke nødvendigvis alle dataene). Visninger kan gøre følgende:

  • Begræns adgangen til bestemte rækker i en tabel
  • Begræns adgangen til specifikke kolonner i en tabel
  • Slå sammen kolonner fra flere tabeller og præsentere dem, som om de er en del af en enkelt tabel
  • Vis aggregerede oplysninger (såsom resultaterne af COUNT() funktion)

Sådan opretter du en visning

For at oprette en visning skal du bruge CREATE VIEW sætning efterfulgt af SELECT erklæring.

CREATE VIEW ViewName 
AS
SELECT ...

Det er alt, hvad der skal til. Når du kører denne sætning, gemmes visningen i databasen

Eksempel

Her er et eksempel på at oprette en visning og derefter vælge data fra den visning.

  1. Opret visningen

    Kør følgende erklæring mod musikdatabasen, som vi har oprettet gennem denne øvelse.

    Dette eksempel opretter en visning kaldet RockAlbums. Den vælger alle albums, der er blevet tildelt en genre af "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. Se visningen

    Udvid Visninger node under den relevante database for at se din nyoprettede visning. Du kan også udvide visningens noder for at se de kolonner, der er inkluderet i dens definition.

  3. Kør visningen

    Nu hvor visningen er oprettet, kan du køre den ved at bruge en SELECT udmelding. Du kan vælge alt, eller du kan vælge specifikke kolonner, indsnævre resultaterne yderligere med en WHERE klausul osv.

    SELECT * 
    FROM RockAlbums;

Rediger en visning

Du kan ændre din visning med ALTER VIEW erklæring.

Alt du skal gøre er at angive den nye visningsdefinition, som du gerne vil bruge. Så det er næsten som at oprette en ny visning med CREATE VIEW sætning bortset fra at den ændrer en eksisterende med ALTER VIEW erklæring.

Her er et eksempel.

  1. Rediger visningen

    Kør følgende erklæring. Dette tilføjer en ny kolonne til visningens valg (ReleaseDate kolonne).

    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. Kør visningen

    Nu hvor vi har tilføjet ReleaseDate kolonne til visningen, kan vi bruge det i vores SQL-forespørgsler mod visningen.

    For eksempel kan vi vælge alle albums, hvor udgivelsesdatoen er efter en bestemt dato.

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

  1. Hvad er NoSQL, og hvordan bruges det?

  2. SQL DROP TABLE-erklæring og forskellige brugssager

  3. Sådan viser du alle Oracle-databaseprivilegier for en bruger

  4. Sådan fungerer COUNT() i SQL Server