Изменение данных через представление
Применимо к: SQL Server Azure SQL Database
Управляемый экземпляр SQL Azure
Azure Synapse Analytics
Analytics Platform System (PDW)
Вы можете изменить данные базовой таблицы в SQL Server с помощью SQL Server Management Studio или Transact-SQL.
Перед началом
Ограничения
- См. раздел "Обновляемые представления" статьи CREATE VIEW (Transact-SQL).
Разрешения
Необходимы разрешения UPDATE, INSERT или DELETE для целевой таблицы в зависимости от выполняемого действия.
Использование среды SQL Server Management Studio
Изменение данных таблицы с помощью представления
В обозревателе объектовразверните базу данных, содержащую представление, а затем разверните Представления.
Щелкните правой кнопкой мыши представление и выберите Изменить 200 верхних строк.
Может потребоваться изменение инструкции SELECT на панели SQL для получения строк, которые необходимо изменить.
На панели Результаты найдите строку для изменения или удаления. Чтобы удалить строку, щелкните правой кнопкой мыши строку и выберите Удалить. Чтобы изменить данные в одном или нескольких столбцах, измените данные в столбце.
Важно!
Нельзя удалить строку, если представление ссылается на несколько базовых таблиц. Можно обновлять только те столбцы, которые принадлежат к одной базовой таблице.
Чтобы вставить строку, прокрутите строки вниз до конца и вставьте новые значения.
Важно!
Нельзя вставить строку, если представление ссылается на несколько базовых таблиц.
Использование Transact-SQL
Обновление данных таблицы с помощью представления
В обозревателе объектовподключитесь к экземпляру компонента Компонент Database Engine.
На стандартной панели выберите пункт Создать запрос.
Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. В этом примере изменяется значение в столбцах
StartDate
иEndDate
для определенного сотрудника путем создания ссылки на столбцы в представленииHumanResources.vEmployeeDepartmentHistory
. Это представление возвращает значения из двух таблиц. Эта инструкция была выполнена успешно, потому что изменялись столбцы только одной из базовых таблиц.USE AdventureWorks2012 ; GO UPDATE HumanResources.vEmployeeDepartmentHistory SET StartDate = '20110203', EndDate = GETDATE() WHERE LastName = N'Smith' AND FirstName = 'Samantha'; GO
Дополнительные сведения см. в разделе UPDATE (Transact-SQL).
Вставка данных таблицы с помощью представления
В обозревателе объектовподключитесь к экземпляру компонента Компонент Database Engine.
На стандартной панели выберите пункт Создать запрос.
Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. В этом примере выполняется вставка новой строки в базовую таблицу
HumanResouces.Department
путем указания соответствующих столбцов в представленииHumanResources.vEmployeeDepartmentHistory
. Эта инструкция была выполнена успешно, поскольку были указаны только столбцы из одной базовой таблицы, а другие столбцы в базовой таблице имеют значения по умолчанию.USE AdventureWorks2012 ; GO INSERT INTO HumanResources.vEmployeeDepartmentHistory (Department, GroupName) VALUES ('MyDepartment', 'MyGroup'); GO
Дополнительные сведения см. в статье Инструкция INSERT (Transact-SQL).