Freigeben über


Ändern von Daten über eine Ansicht

Gilt für:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL-Datenbank in Microsoft Fabric

Sie können die Daten einer zugrunde liegenden Basistabelle in SQL Server mithilfe von SQL Server Management Studio oder Transact-SQL ändern.

Einschränkungen

Weitere Informationen finden Sie im Abschnitt "Aktualisierbare Ansichten" in CREATE VIEW.

Berechtigungen

Erfordert UPDATE, INSERToder DELETE Berechtigungen für die Zieltabelle, abhängig von der ausgeführten Aktion.

Verwenden von SQL Server Management Studio

Ändern von Tabellendaten über eine Ansicht

  1. Erweitern Sie in Objekt-Explorerdie Datenbank, die die Sicht enthält, und erweitern Sie dann Sichten.

  2. Klicken Sie mit der rechten Maustaste auf die Sicht, und wählen Sie Die ersten 200 Zeilen bearbeitenaus.

  3. Möglicherweise müssen Sie die SELECT Anweisung im SQL-Bereich ändern, um die zu ändernden Zeilen zurückzugeben.

  4. Suchen Sie im Bereich Ergebnisse die zu ändernde oder zu löschende Zeile. Klicken Sie mit der rechten Maustaste auf die zu löschende Zeile, und wählen Sie Löschenaus. Zum Ändern von Daten in mindestens einer Spalte ändern Sie die Daten in der Spalte.

    Sie können eine Zeile nicht löschen, wenn die Ansicht auf mehrere Basistabellen verweist. Sie können nur Spalten aktualisieren, die zu einer einzelnen Basistabelle gehören.

  5. Zum Einfügen einer Zeile führen Sie einen Bildlauf nach unten zum Ende der Zeilen durch, und fügen Sie die neuen Werte ein.

    Sie können keine Zeile einfügen, wenn die Ansicht auf mehrere Basistabellen verweist.

Verwenden von Transact-SQL

Aktualisieren von Tabellendaten über eine Ansicht

  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. In diesem Beispiel wird der Wert in den Spalten StartDate und EndDate für einen bestimmten Mitarbeiter geändert, indem in der Sicht HumanResources.vEmployeeDepartmentHistoryauf Spalten verwiesen wird. Diese Sicht gibt Werte von zwei Tabellen zurück. Diese Anweisung ist erfolgreich, da die geänderten Spalten aus nur einer der Basistabellen stammen.

    USE AdventureWorks2022;
    GO
    
    UPDATE HumanResources.vEmployeeDepartmentHistory
        SET StartDate = '20110203',
            EndDate   = GETDATE()
    WHERE LastName = N'Smith'
          AND FirstName = 'Samantha';
    GO
    

Weitere Informationen finden Sie unter UPDATE.

Einfügen von Tabellendaten über eine Ansicht

  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 eine neue Zeile in die Basistabelle HumanResources.Department eingefügt, indem die relevanten Spalten der Sicht HumanResources.vEmployeeDepartmentHistoryangegeben werden. Die Anweisung ist erfolgreich, da nur Spalten von einer einzelnen Basistabelle angegeben werden. In den anderen Spalten der Basistabelle befinden sich Standardwerte.

    USE AdventureWorks2022;
    GO
    
    INSERT INTO HumanResources.vEmployeeDepartmentHistory (Department, GroupName)
    VALUES ('MyDepartment', 'MyGroup');
    GO
    

Weitere Informationen finden Sie unter INSERT.