Freigeben über


Ändern von Sichten

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

In diesem Thema

  • Vorbereitungen:

    Einschränkungen

    Sicherheit

  • So ändern Sie eine Sicht mit:

    SQL Server Management Studio

    Transact-SQL

Vorbereitungen

Einschränkungen

  • Das Ändern einer Sicht hat keine Auswirkungen auf abhängige Objekte, z. B. gespeicherte Prozeduren oder Trigger, es sei denn, die Definition der Sicht 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 Database Engine (Datenbankmodul) die Sicht mit einer exklusiven Schemasperre. Wenn die Sperre erteilt wird und keine aktiven Benutzer der Sicht vorhanden sind, löscht Database Engine (Datenbankmodul) 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.

Sicherheit

Berechtigungen

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

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Top]

Verwendung von SQL Server Management Studio

So ändern Sie eine Sicht

  1. Klicken Sie im Objekt-Explorer auf das Pluszeichen neben der Datenbank, in der sich die Sicht befindet, und klicken Sie dann auf das Pluszeichen neben dem Ordner Sichten.

  2. Klicken Sie mit der rechten Maustaste auf die Sicht, die Sie ändern möchten, und klicken Sie dann 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 Sicht 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 view name speichern.

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Top]

Verwendung von Transact-SQL

So ändern Sie eine Sicht

  1. Stellen Sie im Objekt-Explorer eine Verbindung zu einer Instanz von Database Engine (Datenbankmodul) her.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.

  3. Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie 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 AdventureWorks2012 ;
    GO
    -- Create a view.
    CREATE VIEW HumanResources.EmployeeHireDate
    AS
    SELECT p.FirstName, p.LastName, e.HireDate
    FROM HumanResources.Employee AS e 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 JOIN Person.Person AS  p
    ON e.BusinessEntityID = p.BusinessEntityID
    WHERE HireDate < CONVERT(DATETIME,'20020101',101) ; 
    GO
    

Weitere Informationen finden Sie unter ALTER VIEW (Transact-SQL).

Pfeilsymbol, dass mit dem Link "Zurück zum Anfang" verwendet wird[Top]