Изменение данных через представление
Изменить данные столбца базовой таблицы можно в SQL Server 2012 с помощью Среда SQL Server Management Studio или Transact-SQL.
В этом разделе
Перед началом работы выполните следующие действия.
Ограничения
Безопасность
Изменение данных таблицы с помощью представления с использованием следующих средств:
Среда SQL Server Management Studio
Transact-SQL
Перед началом
Ограничения
- См. раздел «Обновляемые представления» в CREATE VIEW (Transact-SQL).
Безопасность
Разрешения
Необходимы разрешения UPDATE, INSERT или DELETE для целевой таблицы в зависимости от выполняемого действия.
[Top]
Использование среды SQL Server Management Studio
Изменение данных таблицы с помощью представления
В обозревателе объектов разверните базу данных, содержащую представление, а затем разверните Представления.
Щелкните правой кнопкой мыши представление и выберите Изменить 200 верхних строк.
Может потребоваться изменение инструкции SELECT на панели SQL для получения строк, которые необходимо изменить.
На панели Результаты найдите строку для изменения или удаления. Чтобы удалить строку, щелкните правой кнопкой мыши строку и выберите Удалить. Чтобы изменить данные в одном или нескольких столбцах, измените данные в столбце.
Важно! Нельзя удалить строку, если представление ссылается на несколько базовых таблиц. Можно обновлять только те столбцы, которые принадлежат к одной базовой таблице.
Чтобы вставить строку, прокрутите строки вниз до конца и вставьте новые значения.
Важно! Нельзя вставить строку, если представление ссылается на несколько базовых таблиц.
[Top]
Использование 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).
[Top]