- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * 7.6 视图的修改 7.6.3 视图重命名 重命名视图可以在SQL Server Management Studio中,右击需要重命名的视图,在快捷菜单中选择“重命名”命令,然后输入新的视图名称即可。 利用系统存储过程sp_rename重命名视图。系统存储过程sp_rename更改当前数据库中用户创建对象的名称,此对象可以是表、列、索引、视图或用户定义数据类型等,其语法格式如下: sp_rename [@objname = ]object_name , [@newname = ]new_name ????[,[@objtype = ]object_type] 例如使用存储过程将数据库teaching中的视图v_成绩重命名为v_final。 EXEC sp_rename v_成绩,v_final 需要注意的是:更改对象名的任一部分都可能破坏脚本和存储过程,使其不可用。因此建议不要使用此语句来重命名存储过程、触发器、用户定义函数或视图等数据库对象,而是将其删除,然后使用新名称重新创建。 7.6 视图的修改 7.6.2 删除视图 2. 使用Transact-SQL删除视图 使用DROP VIEW语句可从当前数据库中删除一个或多个视图,其语法格式为: DROP VIEW [ schema_name.] view_name [ ...,n ] [ ; ] 例如使用Transact-SQL语句删除teaching数据库中v_max视图的命令如下: DROP VIEW v_max 7.7 通过视图修改数据 1. 通过视图向基表中插入数据 在视图上用INSERT语句添加数据要符合以下规则: (1)使用INSERT语句向数据表中插入数据时,用户必须具备插入数据的相关权限。 (2)进行插入操作的视图只能引用一个基表的列。 (3) 视图中包含的列必须直接引用表列中的基础数据,不能通过计算或聚合函数等方式派生。 (4)INSERT语句须为不允许为空值,且没有DEFAULT定义的基表中的所有列指定值。这将确保基表中所有需要值的列都可以获取值。 7.7 通过视图修改数据 1. 通过视图向基表中插入数据 在视图上用INSERT语句添加数据要符合以下规则: (5)在基表中插入的数据必须符合在相关列上定义的约束条件,如是否为空、约束及默认值定义等。 (6)视图中不能包含DISTINCT、GROUP BY或HAVING子句。 (7)如果在视图定义中使用了WITH CHECK OPTION子句,则该子句将检查插入的数据是否符合视图定义中SELECT语句所设置的条件,如果插入的数据不符合该条件,SQL Server会拒绝插入数据,并显示错误。 例7.18 通过视图 v_course 向基表 course 中插入数据 (‘c05129’, ‘数据库编程’, ‘必修’, 64, 4)。 程序代码如下: USE teaching GO INSERT INTO v_course VALUES(c05129,数据库编程,必修,64,4) GO SELECT * FROM course 7.7 通过视图修改数据 1. 通过视图向基表中插入数据 例7.19 编程在teaching数据中创建一个名称为v_sex的视图,包含所有性别为“女”的学生的学号、姓名、性别、出生日期和班级编号,需限制插入数据中性别必须为“女”。 程序代码如下: --在“查询编辑器”中输入以下程序,创建v_sex视图。 USE teaching GO CREATE VIEW v_sex AS SELECT studentno,sname,sex,birthday,classno FROM student WHERE sex=女‘ WITH CHECK OPTION --通过视图v_sex向基表student中插入数据。 INSERT INTO v_sex VALUES(0938211038,李静,女,1990-6-3,090802) GO SELECT * FROM student --通过视图v_sex向基表student中插入数据(0922221548, 张晓明, 男, 1989-11-20, 090501)。 INSERT INTO v_sex VALUES(0922221548,张晓明,男,1989-11-20,090501) GO SELECT * FROM student 7.7 通过视图修改数据 1. 通过视图向基表中插入数据 例7.20 通过视图v_final向基表中插入数据(‘0922221324’,‘何影’, ‘数据库编程’, 90)。 程序代码如下: USE teaching
文档评论(0)