Ändern von Ansichten

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Nachdem Sie eine Ansicht definiert haben, können Sie die Definition im SQL Server-Datenbankmodul ändern, ohne die Ansicht mithilfe von SQL Server Management Studio oder Transact-SQL neu zu erstellen.

Beschränkungen und Einschränkungen

  • Das Ändern einer Ansicht wirkt sich nicht auf abhängige Objekte aus, z. B. gespeicherte Prozeduren oder Trigger, es sei denn, die Definition der Ansicht ändert sich so, dass das abhängige Objekt nicht mehr gültig ist.

  • Wird eine derzeit verwendete Sicht mithilfe von ALTER VIEW geändert, belegt Datenbank-Engine die Sicht mit einer exklusiven Schemasperre. Wenn die Sperre erteilt wird und keine aktiven Benutzer*innen der Sicht vorhanden sind, löscht die Datenbank-Engine alle Kopien der Sicht aus dem Prozedurcache. Vorhandene Pläne, die auf die Sicht verweisen, bleiben im Cache, werden aber beim Aufrufen erneut kompiliert.

  • ALTER VIEW kann auf indizierte Sichten angewendet werden; ALTER VIEW löscht jedoch vorbehaltlos alle Indizes in der Sicht.

Berechtigungen

Für die Ausführung von ALTER VIEW wird zumindest die ALTER-Berechtigung für OBJECT benötigt.

Verwenden Sie SQL Server Management Studio

  1. Wählen Sie im Objekt-Explorer das Pluszeichen neben der Datenbank aus, in der sich Die Ansicht befindet, und wählen Sie dann das Pluszeichen neben dem Ordner "Ansichten" aus.

  2. Klicken Sie mit der rechten Maustaste auf die Sicht, die Sie ändern möchten, und klicken Sie anschließend auf Entwurf.

  3. Nehmen Sie im Diagrammbereich des Abfrage-Designers Änderungen an der Sicht vor, indem Sie eine oder mehrere der folgenden Vorgehensweisen anwenden:

    1. Aktivieren oder deaktivieren Sie die Kontrollkästchen beliebiger Elemente, die Sie hinzufügen oder entfernen möchten.

    2. Klicken Sie mit der rechten Maustaste innerhalb des Diagrammbereichs, wählen Sie die Option Tabelle hinzufügen..., und wählen Sie im Dialogfeld Tabelle hinzufügen dann die weiteren Spalten aus, die Sie der Ansicht hinzufügen möchten.

    3. Klicken Sie mit der rechten Maustaste auf die Titelleiste der Tabelle, die Sie entfernen möchten, und wählen Sie die Option Entfernen.

  4. Wählen Sie im Menü "Datei" die Option "Ansichtsname speichern" aus.

Verwenden von Transact-SQL

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.

  3. Kopieren Sie das folgende Beispiel in das Abfragefenster, und klicken Sie dann auf Ausführen. Im Beispiel wird zuerst eine Sicht erstellt, und anschließend wird die Sicht mithilfe von ALTER VIEW geändert. Der Sichtdefinition wird eine WHERE-Klausel hinzugefügt.

    USE AdventureWorks2022;
    GO
    
    -- Create a view
    CREATE VIEW HumanResources.EmployeeHireDate
    AS
    SELECT p.FirstName,
         p.LastName,
         e.HireDate
    FROM HumanResources.Employee AS e
    INNER JOIN Person.Person AS p
         ON e.BusinessEntityID = p.BusinessEntityID;
    
    -- Modify the view by adding a WHERE clause to limit the rows returned
    ALTER VIEW HumanResources.EmployeeHireDate
    AS
    SELECT p.FirstName,
         p.LastName,
         e.HireDate
    FROM HumanResources.Employee AS e
    INNER JOIN Person.Person AS p
         ON e.BusinessEntityID = p.BusinessEntityID
    WHERE HireDate < CONVERT(DATETIME, '20020101', 101);
    GO
    

Nächste Schritte