您可以使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 2012 中修改基础基表的数据。
本主题内容
开始之前:
限制和局限
安全性
通过视图修改表数据,使用:
SQL Server Management Studio
Transact-SQL
开始之前
限制和局限
- 请参阅 CREATE VIEW (Transact-SQL) 中的“可更新的视图”一节。
安全性
权限
需要对目标表的 UPDATE、INSERT 或 DELETE 权限(取决于执行的操作)。
[Top]
使用 SQL Server Management Studio
通过视图修改表数据
在**“对象资源管理器”中,展开包含视图的数据库,然后展开“视图”**。
右键单击该视图,然后选择**“编辑前 200 行”**。
可能需要在 SQL 窗格中修改 SELECT 语句以返回要修改的行。
在**“结果”窗格中,找到要更改或删除的行。 若要删除行,请右键单击该行,然后选择“删除”**。 若要更改一个或多个列中的数据,请修改列中的数据。
重要提示
如果视图引用多个基表,则不能删除行。 只能更新属于单个基表的列。
若要插入行,请向下滚动到行的结尾并插入新值。
重要提示
如果视图引用多个基表,则不能插入行。
[Top]
使用 Transact-SQL
通过视图更新表数据
在**“对象资源管理器”**中,连接到数据库引擎的实例。
在标准菜单栏上,单击**“新建查询”**。
将以下示例复制并粘贴到查询窗口中,然后单击**“执行”**。 此示例通过引用视图 HumanResources.vEmployeeDepartmentHistory 中的列为特定雇员更改 StartDate 和 EndDate 列中的值。 此视图从两个表返回值。 此语句会成功,因为修改的列都来自一个基表。
USE AdventureWorks2012 ; GO UPDATE HumanResources.vEmployeeDepartmentHistory SET StartDate = '20110203', EndDate = GETDATE() WHERE LastName = N'Smith' AND FirstName = 'Samantha'; GO
有关详细信息,请参阅 UPDATE (Transact-SQL)。
通过视图插入表数据
在**“对象资源管理器”**中,连接到数据库引擎的实例。
在标准菜单栏上,单击**“新建查询”**。
将以下示例复制并粘贴到查询窗口中,然后单击**“执行”**。 此示例通过指定视图 HumanResources.vEmployeeDepartmentHistory 中的相关列,将一个新行插入到基表 HumanResouces.Department。 该语句会成功,因为只指定了一个基表中的列,基表中的其他列具有默认值。
USE AdventureWorks2012 ; GO INSERT INTO HumanResources.vEmployeeDepartmentHistory (Department, GroupName) VALUES ('MyDepartment', 'MyGroup'); GO
有关详细信息,请参阅 INSERT (Transact-SQL)。
[Top]