Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Erstellen Sie eine Ansicht in SQL Server 2017

In SQL Server können Sie eine Abfrage als Ansicht speichern. Aufrufe sind aus vielen Gründen vorteilhaft, darunter Sicherheit, Benutzerfreundlichkeit und Komfort.

In SQL Server eine Ansicht ist eine virtuelle Tabelle, deren Inhalt durch eine Abfrage definiert wird. Es ist im Grunde eine vorgefertigte Abfrage, die in der Datenbank gespeichert wird.

Eine Ansicht besteht aus einem SELECT -Anweisung, und wenn Sie eine Abfrage für die Ansicht ausführen, sehen Sie die Ergebnisse wie beim Öffnen einer Tabelle. Ansichten werden als virtuelle Tabellen bezeichnet, da sie Daten aus mehreren Tabellen zusammenführen sowie Daten aggregieren und so darstellen können, als ob es sich um eine einzelne Tabelle handelt.

Vorteile von Aufrufen

Eine Ansicht kann nützlich sein, wenn es mehrere Benutzer mit unterschiedlichen Zugriffsebenen gibt, die alle Teile der Daten in der Datenbank sehen müssen (jedoch nicht unbedingt alle Daten). Ansichten können Folgendes tun:

  • Beschränken Sie den Zugriff auf bestimmte Zeilen in einer Tabelle
  • Beschränken Sie den Zugriff auf bestimmte Spalten in einer Tabelle
  • Fügen Sie Spalten aus mehreren Tabellen zusammen und stellen Sie sie so dar, als wären sie Teil einer einzigen Tabelle
  • Präsentieren Sie aggregierte Informationen (z. B. die Ergebnisse von COUNT() Funktion)

So erstellen Sie eine Ansicht

Um eine Ansicht zu erstellen, verwenden Sie CREATE VIEW -Anweisung, gefolgt von SELECT Aussage.

CREATE VIEW ViewName 
AS
SELECT ...

Das ist alles dazu. Wenn Sie diese Anweisung ausführen, wird die Ansicht in der Datenbank gespeichert

Beispiel

Hier ist ein Beispiel für das Erstellen einer Ansicht und das anschließende Auswählen von Daten aus dieser Ansicht.

  1. Ansicht erstellen

    Führen Sie die folgende Anweisung für die Musikdatenbank aus, die wir in diesem Tutorial erstellt haben.

    Dieses Beispiel erstellt eine Ansicht namens RockAlbums. Es wählt alle Alben aus, denen das Genre "Rock" zugeordnet wurde.

    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. Ansicht anzeigen

    Erweitern Sie die Ansichten Knoten unter der entsprechenden Datenbank, um Ihre neu erstellte Ansicht anzuzeigen. Sie können auch die Knoten der Ansicht erweitern, um die Spalten anzuzeigen, die in ihrer Definition enthalten sind.

  3. Führen Sie die Ansicht aus

    Nachdem die Ansicht erstellt wurde, können Sie sie mit einem SELECT ausführen Erklärung. Sie können alles auswählen oder bestimmte Spalten auswählen und die Ergebnisse mit einem WHERE weiter eingrenzen Klausel usw.

    SELECT * 
    FROM RockAlbums;

Ansicht ändern

Sie können Ihre Ansicht mit ALTER VIEW ändern Aussage.

Sie müssen lediglich die neue Ansichtsdefinition angeben, die Sie verwenden möchten. Es ist also fast so, als würde man mit CREATE VIEW eine neue Ansicht erstellen -Anweisung, außer dass eine vorhandene mit ALTER VIEW geändert wird Aussage.

Hier ist ein Beispiel.

  1. Ansicht ändern

    Führen Sie die folgende Anweisung aus. Dadurch wird der Auswahl der Ansicht eine neue Spalte hinzugefügt (das ReleaseDate Spalte).

    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. Führen Sie die Ansicht aus

    Jetzt haben wir das ReleaseDate hinzugefügt Spalte zur Ansicht hinzufügen, können wir diese in unseren SQL-Abfragen für die Ansicht verwenden.

    Beispielsweise können wir alle Alben auswählen, deren Veröffentlichungsdatum nach einem bestimmten Datum liegt.

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