Изменение данных через представление

Применимо к:SQL ServerAzure SQL DatabaseAzure Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)

Данные базовой таблицы в SQL Server можно изменить с помощью SQL Server Management Studio или Transact-SQL.

Перед началом

Ограничения

Разрешения

Необходимы разрешения UPDATE, INSERT или DELETE для целевой таблицы в зависимости от выполняемого действия.

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

Изменение данных таблицы с помощью представления

  1. В обозревателе объектовразверните базу данных, содержащую представление, а затем разверните Представления.

  2. Щелкните правой кнопкой мыши представление и выберите Изменить 200 верхних строк.

  3. Может потребоваться изменение инструкции SELECT на панели SQL для получения строк, которые необходимо изменить.

  4. На панели Результаты найдите строку для изменения или удаления. Чтобы удалить строку, щелкните правой кнопкой мыши строку и выберите Удалить. Чтобы изменить данные в одном или нескольких столбцах, измените данные в столбце.

    Внимание

    Нельзя удалить строку, если представление ссылается на несколько базовых таблиц. Можно обновлять только те столбцы, которые принадлежат к одной базовой таблице.

  5. Чтобы вставить строку, прокрутите строки вниз до конца и вставьте новые значения.

    Внимание

    Нельзя вставить строку, если представление ссылается на несколько базовых таблиц.

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

Обновление данных таблицы с помощью представления

  1. В обозревателе объектов подключитесь к экземпляру ядра СУБД.

  2. На стандартной панели выберите пункт Создать запрос.

  3. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. В этом примере изменяется значение в столбцах StartDate и EndDate для определенного сотрудника путем создания ссылки на столбцы в представлении HumanResources.vEmployeeDepartmentHistory. Это представление возвращает значения из двух таблиц. Эта инструкция была выполнена успешно, потому что изменялись столбцы только одной из базовых таблиц.

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

Дополнительные сведения см. в разделе UPDATE (Transact-SQL).

Вставка данных таблицы с помощью представления

  1. В обозревателе объектов подключитесь к экземпляру ядра СУБД.

  2. На стандартной панели выберите пункт Создать запрос.

  3. Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. В этом примере выполняется вставка новой строки в базовую таблицу HumanResouces.Department путем указания соответствующих столбцов в представлении HumanResources.vEmployeeDepartmentHistory. Эта инструкция была выполнена успешно, поскольку были указаны только столбцы из одной базовой таблицы, а другие столбцы в базовой таблице имеют значения по умолчанию.

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

Дополнительные сведения см. в статье Инструкция INSERT (Transact-SQL).