Ändern von Daten über eine SichtModify Data Through a View

Gilt für: JaSQL Server JaAzure SQL-Datenbank JaAzure Synapse Analytics (SQL DW) JaParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

Sie können die Daten einer zugrunde liegenden Basistabelle in SQL ServerSQL Server mit SQL Server Management StudioSQL Server Management Studio oder Transact-SQLTransact-SQLändern.You can modify the data of an underlying base table in SQL ServerSQL Server by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL.

VorbereitungenBefore You Begin

EinschränkungenLimitations and Restrictions

BerechtigungenPermissions

Erfordert je nach ausgeführter Aktion Berechtigungen für UPDATE, INSERT oder DELETE in der Zieltabelle.Requires UPDATE, INSERT, or DELETE permissions on the target table, depending on the action being performed.

Verwenden von SQL Server Management StudioUsing SQL Server Management Studio

So ändern Sie Tabellendaten durch eine SichtTo modify table data through a view

  1. Erweitern Sie in Objekt-Explorerdie Datenbank, die die Sicht enthält, und erweitern Sie dann Sichten.In Object Explorer, expand the database that contains the view and then expand Views.

  2. Klicken Sie mit der rechten Maustaste auf die Sicht, und wählen Sie Die ersten 200 Zeilen bearbeitenaus.Right-click the view and select Edit Top 200 Rows.

  3. Sie müssen möglicherweise die SELECT-Anweisung im Bereich SQL ändern, um die Zeilen zurückzugeben, die geändert werden sollen.You may need to modify the SELECT statement in the SQL pane to return the rows to be modified.

  4. Suchen Sie im Bereich Ergebnisse die zu ändernde oder zu löschende Zeile.In the Results pane, locate the row to be changed or deleted. Klicken Sie mit der rechten Maustaste auf die zu löschende Zeile, und wählen Sie Löschenaus.To delete the row, right-click the row and select Delete. Zum Ändern von Daten in mindestens einer Spalte ändern Sie die Daten in der Spalte.To change data in one or more columns, modify the data in the column.

    WICHTIG!IMPORTANT!! Sie können keine Zeile löschen, wenn die Sicht auf mehr als eine Basistabelle verweist.You cannot delete a row if the view references more than one base table. Sie können nur Spalten aktualisieren, die zu einer einzelnen Basistabelle gehören.You can only update columns that belong to a single base table.

  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.To insert a row, scroll down to the end of the rows and insert the new values.

    WICHTIG!IMPORTANT! Sie können keine Zeile einfügen, wenn die Sicht auf mehr als eine Basistabelle verweist.You cannot insert a row if the view references more than one base table.

Verwenden von Transact-SQLUsing Transact-SQL

So aktualisieren Sie Tabellendaten durch eine SichtTo update table data through a view

  1. Stellen Sie im Objekt-Explorereine Verbindung mit einer Datenbank-EngineDatabase Engine-Instanz her.In Object Explorer, connect to an instance of Datenbank-EngineDatabase Engine.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.On the Standard bar, click New Query.

  3. Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen.Copy and paste the following example into the query window and click Execute. 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.This example changes the value in the StartDate and EndDate columns for a specific employee by referencing columns in the view HumanResources.vEmployeeDepartmentHistory. Diese Sicht gibt Werte von zwei Tabellen zurück.This view returns values from two tables. Diese Anweisung ist erfolgreich, da die geänderten Spalten aus nur einer der Basistabellen stammen.This statement succeeds because the columns being modified are from only one of the base tables.

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

Weitere Informationen finden Sie unter UPDATE (Transact-SQL).For more information, see UPDATE (Transact-SQL).

So fügen Sie Tabellendaten durch eine Sicht einTo insert table data through a view

  1. Stellen Sie im Objekt-Explorereine Verbindung mit einer Datenbank-EngineDatabase Engine-Instanz her.In Object Explorer, connect to an instance of Datenbank-EngineDatabase Engine.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.On the Standard bar, click New Query.

  3. Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen.Copy and paste the following example into the query window and click Execute. Im Beispiel wird eine neue Zeile in die Basistabelle HumanResouces.Department eingefügt, indem die relevanten Spalten der Sicht HumanResources.vEmployeeDepartmentHistoryangegeben werden.The example inserts a new row into the base table HumanResouces.Department by specifying the relevant columns from the view HumanResources.vEmployeeDepartmentHistory. Die Anweisung ist erfolgreich, da nur Spalten von einer einzelnen Basistabelle angegeben werden. In den anderen Spalten der Basistabelle befinden sich Standardwerte.The statement succeeds because only columns from a single base table are specified and the other columns in the base table have default values.

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

Weitere Informationen finden Sie unter INSERT (Transact-SQL).For more information, see INSERT (Transact-SQL).