Изменение данных через представлениеModify Data Through a View

ОБЛАСТЬ ПРИМЕНЕНИЯ: даSQL Server даБаза данных SQL Azure даAzure Synapse Analytics (хранилище данных SQL) даParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

Изменить данные столбца базовой таблицы можно в SQL Server 2019 (15.x)SQL Server 2019 (15.x) с помощью SQL Server Management StudioSQL Server Management Studio или Transact-SQLTransact-SQL.You can modify the data of an underlying base table in SQL Server 2019 (15.x)SQL Server 2019 (15.x) by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL.

Перед началомBefore You Begin

ОграниченияLimitations and Restrictions

PermissionsPermissions

Необходимы разрешения UPDATE, INSERT или DELETE для целевой таблицы в зависимости от выполняемого действия.Requires UPDATE, INSERT, or DELETE permissions on the target table, depending on the action being performed.

Использование среды SQL Server Management StudioUsing SQL Server Management Studio

Изменение данных таблицы с помощью представленияTo modify table data through a view

  1. В обозревателе объектовразверните базу данных, содержащую представление, а затем разверните Представления.In Object Explorer, expand the database that contains the view and then expand Views.

  2. Щелкните правой кнопкой мыши представление и выберите Изменить 200 верхних строк.Right-click the view and select Edit Top 200 Rows.

  3. Может потребоваться изменение инструкции SELECT на панели SQL для получения строк, которые необходимо изменить.You may need to modify the SELECT statement in the SQL pane to return the rows to be modified.

  4. На панели Результаты найдите строку для изменения или удаления.In the Results pane, locate the row to be changed or deleted. Чтобы удалить строку, щелкните правой кнопкой мыши строку и выберите Удалить.To delete the row, right-click the row and select Delete. Чтобы изменить данные в одном или нескольких столбцах, измените данные в столбце.To change data in one or more columns, modify the data in the column.

    ВАЖНО!IMPORTANT!! Нельзя удалить строку, если представление ссылается на несколько базовых таблиц.You cannot delete a row if the view references more than one base table. Можно обновлять только те столбцы, которые принадлежат к одной базовой таблице.You can only update columns that belong to a single base table.

  5. Чтобы вставить строку, прокрутите строки вниз до конца и вставьте новые значения.To insert a row, scroll down to the end of the rows and insert the new values.

    ВАЖНО!IMPORTANT! Нельзя вставить строку, если представление ссылается на несколько базовых таблиц.You cannot insert a row if the view references more than one base table.

Использование Transact-SQLUsing Transact-SQL

Обновление данных таблицы с помощью представленияTo update table data through a view

  1. В обозревателе объектовподключитесь к экземпляру компонента Компонент Database EngineDatabase Engine.In Object Explorer, connect to an instance of Компонент Database EngineDatabase Engine.

  2. На стандартной панели выберите пункт Создать запрос.On the Standard bar, click New Query.

  3. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.Copy and paste the following example into the query window and click Execute. В этом примере изменяется значение в столбцах StartDate и EndDate для определенного сотрудника путем создания ссылки на столбцы в представлении 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. Это представление возвращает значения из двух таблиц.This view returns values from two tables. Эта инструкция была выполнена успешно, потому что изменялись столбцы только одной из базовых таблиц.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  
    

Дополнительные сведения см. в статье UPDATE (Transact-SQL).For more information, see UPDATE (Transact-SQL).

Вставка данных таблицы с помощью представленияTo insert table data through a view

  1. В обозревателе объектовподключитесь к экземпляру компонента Компонент Database EngineDatabase Engine.In Object Explorer, connect to an instance of Компонент Database EngineDatabase Engine.

  2. На стандартной панели выберите пункт Создать запрос.On the Standard bar, click New Query.

  3. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.Copy and paste the following example into the query window and click Execute. В этом примере выполняется вставка новой строки в базовую таблицу HumanResouces.Department путем указания соответствующих столбцов в представлении HumanResources.vEmployeeDepartmentHistory.The example inserts a new row into the base table HumanResouces.Department by specifying the relevant columns from the view HumanResources.vEmployeeDepartmentHistory. Эта инструкция была выполнена успешно, поскольку были указаны только столбцы из одной базовой таблицы, а другие столбцы в базовой таблице имеют значения по умолчанию.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  
    

Дополнительные сведения см. в статье INSERT (Transact-SQL).For more information, see INSERT (Transact-SQL).