Modificar dados por meio de uma exibiçãoModify Data Through a View

APLICA-SE A: simSQL Server simBanco de Dados SQL do Azure simAzure Synapse Analytics (SQL DW) simParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

Você pode modificar os dados de uma tabela base subjacente no SQL ServerSQL Server usando o SQL Server Management StudioSQL Server Management Studio ou o Transact-SQLTransact-SQL.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.

Antes de começarBefore You Begin

Limitações e restriçõesLimitations and Restrictions

PermissõesPermissions

Exige a permissão UPDATE, INSERT ou DELETE na tabela de destino, dependendo da ação em execução.Requires UPDATE, INSERT, or DELETE permissions on the target table, depending on the action being performed.

Usando o SQL Server Management StudioUsing SQL Server Management Studio

Para modificar os dados da tabela por uma exibiçãoTo modify table data through a view

  1. No Pesquisador de Objetos, expanda o banco de dados que contém a exibição e expanda Exibições.In Object Explorer, expand the database that contains the view and then expand Views.

  2. Clique com o botão direito do mouse na exibição e selecione Editar 200 Linhas Superiores.Right-click the view and select Edit Top 200 Rows.

  3. Você pode precisar modificar a instrução SELECT no painel SQL para retornar as linhas a serem modificadas.You may need to modify the SELECT statement in the SQL pane to return the rows to be modified.

  4. No painel Resultados , localize a linha a ser alterada ou excluída.In the Results pane, locate the row to be changed or deleted. Para excluir a linha, clique com o botão direito do mouse na linha e selecione Excluir.To delete the row, right-click the row and select Delete. Para alterar dados em uma ou mais colunas, modifique os dados na coluna.To change data in one or more columns, modify the data in the column.

    IMPORTANTE:IMPORTANT!! Você não poderá excluir uma linha se a exibição referenciar mais de uma tabela base.You cannot delete a row if the view references more than one base table. Você pode atualizar somente colunas que pertencem a uma única tabela base.You can only update columns that belong to a single base table.

  5. Para inserir uma linha, role até o fim das linhas e insira os novos valores.To insert a row, scroll down to the end of the rows and insert the new values.

    IMPORTANTE:IMPORTANT! Você não poderá inserir uma linha se a exibição referenciar mais de uma tabela base.You cannot insert a row if the view references more than one base table.

Usando o Transact-SQLUsing Transact-SQL

Para atualizar os dados da tabela por uma exibiçãoTo update table data through a view

  1. No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de DadosDatabase Engine.In Object Explorer, connect to an instance of Mecanismo de Banco de DadosDatabase Engine.

  2. Na barra Padrão, clique em Nova Consulta.On the Standard bar, click New Query.

  3. Copie e cole o exemplo a seguir na janela de consulta e clique em Executar.Copy and paste the following example into the query window and click Execute. Este exemplo altera o valor nas colunas StartDate e EndDate para um funcionário específico referenciando colunas na exibição HumanResources.vEmployeeDepartmentHistory.This example changes the value in the StartDate and EndDate columns for a specific employee by referencing columns in the view HumanResources.vEmployeeDepartmentHistory. Esta exibição retorna valores de duas tabelas.This view returns values from two tables. Esta instrução tem sucesso porque as colunas modificadas são apenas de uma das tabelas base.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  
    

Para obter mais informações, consulte UPDATE (Transact-SQL).For more information, see UPDATE (Transact-SQL).

Para inserir os dados da tabela por uma exibiçãoTo insert table data through a view

  1. No Pesquisador de Objetos, conecte-se a uma instância do Mecanismo de Banco de DadosDatabase Engine.In Object Explorer, connect to an instance of Mecanismo de Banco de DadosDatabase Engine.

  2. Na barra Padrão, clique em Nova Consulta.On the Standard bar, click New Query.

  3. Copie e cole o exemplo a seguir na janela de consulta e clique em Executar.Copy and paste the following example into the query window and click Execute. O exemplo insere uma nova linha na tabela base HumanResouces.Department especificando as colunas pertinentes da exibição HumanResources.vEmployeeDepartmentHistory.The example inserts a new row into the base table HumanResouces.Department by specifying the relevant columns from the view HumanResources.vEmployeeDepartmentHistory. A instrução tem sucesso porque somente as colunas de uma tabela base são especificadas e as outras colunas na tabela base têm valores padrão.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  
    

Para obter mais informações, consulte INSERT (Transact-SQL).For more information, see INSERT (Transact-SQL).