Freigeben über


Ändern von Anzeigen

Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Nachdem eine Anzeige definiert wurde, können Sie ihre Definition in SQL Server Database Engine ändern, ohne die Anzeige mithilfe von SQL Server Management Studio oder Transact-SQL löschen und neu erstellen zu müssen.

Einschränkungen

  • Das Ändern einer Anzeige hat keine Auswirkungen auf abhängige Objekte, z. B. gespeicherte Prozeduren oder Trigger, es sei denn, die Definition der Anzeige wird so geändert, 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 von SQL Server Management Studio

  1. Wählen Sie im Objekt-Explorer das Pluszeichen neben der Datenbank, in der sich die Anzeige befindet, und wählen Sie dann das Pluszeichen neben dem Ordner Anzeigen.

  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. Klicken Sie im Menü Datei auf Tabellennamespeichern.

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