文档详情

第4章数据库的查询和视图.ppt

发布:2017-06-14约字共140页下载文档
文本预览下载声明
4.3.4 更新视图 2.插入数据 使用INSERT语句通过视图向基本表插入数据,有关INSERT语句的语法介绍见第3章。 【例4.79】 向CS_XS视图中插入以下记录: (081115, 刘明仪, 1, 1998-3-2, 计算机, 50 , NULL) INSERT INTO CS_XS VALUES(081115, 刘明仪, 1,1998-3-2, 计算机,50,NULL) 使用SELECT语句查询CS_XS依据的基本表XSB: SELECT * FROM XSB 将会看到该表已添加了(081115, 刘明仪, 1,1998-3-2, 计算机,50,NULL)行。 当视图所依赖的基本表有多个时,不能向该视图插入数据,因为这将会影响多个基表。例如,不能向视图CS_KC插入数据,因为CS_KC依赖两个基本表:XSB和CJB。 4.3.4 更新视图 3.修改数据 使用UPDATE语句可以通过视图修改基本表的数据。 【例4.80】 将CS_XS视图中所有学生的总学分增加8。 UPDATE CS_XS SET 总学分=总学分+ 8 该语句实际上是将CS_XS视图所依赖的基本表XSB中所有专业为“计算机”的记录的总学分字段值在原来基础上增加8。 若一个视图依赖于多个基本表,则一次修改该视图只能变动一个基本表的数据。 【例4.81】 将CS_KC视图中学号为081101的学生的101号课程成绩改为90。 UPDATE CS_KC SET 成绩=90 WHERE 学号=081101 AND 课程号=101 本例中,视图CS_KC依赖于两个基本表:XSB和CJB,对CS_KC视图的一次修改只能改变学号(源于XSB表)或者课程号和成绩(源于CJB表)。 UPDATE CS_KC SET 学号=081120, 课程号=208 WHERE 成绩=90 4.3.4 更新视图 4.删除数据 使用DELETE语句可以通过视图删除基本表的数据,不能使用DELETE语句。例如,不能通过对CS_KC视图执行DELETE语句而删除与之相关的基本表XSB及CJB表的数据。 【例4.82】 删除CS_XS中女同学的记录。 DELETE FROM CS_XS WHERE 性别 = 0 对视图的更新操作也可通过SQL Server Management Studio的界面进行,操作方法与对表数据的插入、修改和删除的界面操作方法基本相同,在此仅举一例加以说明。 【例4.83】 在对象资源管理器中对视图CS_XS进行如下操作: (1)增加一条记录(081115, 刘明仪, 1, 1998-3-2, 计算机, 50 , NULL)。 (2)将学号为081115的学生的总学分改为55。 (3)删除学号为081115的学生记录。 4.3.4 更新视图 操作方法: (1)在对象资源管理器中展开“数据库→PXSCJ→视图”,选择“CS_XS”,右击鼠标,在弹出的快捷菜单上选择“编辑前200行”菜单项,在出现的如图4.8所示的数据窗口中添加新记录,输入新记录各字段的值。 图4.8 通过视图插入和删除数据 4.3.4 更新视图 (2)定位到需修改的学号为“081115”的行的总学分字段,删除原值50,输入新值52。 (3)定位到需删除的学号为“081115”的行,单击鼠标右键,在弹出的快捷菜单上选择“删除”,弹出“确认删除”对话框,在其中单击“是”按钮完成删除操作。 4.3.5 修改视图的定义 1.通过SQL Server Enterprise Manager修改视图 在对象资源管理器中右击视图“dbo.CS_XS”,在弹出的快捷菜单中选择“设计”菜单项,进入视图修改窗口。该窗口与创建视图的窗口类似,其中可以查看并可修改视图结构,修改完后单击“保存图标”按钮即可。 2.使用ALTER VIEW语句修改视图 语法格式: ALTER VIEW [ schema_name . ] view_name [ ( column [ ,...n ] ) ] [ WITH view_attribute [ ,...n ] ] AS select_statement [ ; ] [ WITH CHECK OPTION ] 其中,view_attribute、select_statement等参数与CREATE VIEW语句中的含义相同。 4.3.5 修改视图的定义 【例4.84】 将CS_XS视图修改为只包含计算机专业学生的学号、姓名和总学分。 USE PXSCJ GO ALTER VIEW CS_XS AS SELECT 学号, 姓名, 总学分 FROM XSB WHERE 专业= 计算机
显示全部
相似文档