使用SQL语句创建视图1.ppt
- 文档编号:1408117
- 上传时间:2022-10-22
- 格式:PPT
- 页数:28
- 大小:1,007.50KB
使用SQL语句创建视图1.ppt
《使用SQL语句创建视图1.ppt》由会员分享,可在线阅读,更多相关《使用SQL语句创建视图1.ppt(28页珍藏版)》请在冰豆网上搜索。
任务5:
创建视图和更新视图数据,使用managementstudio创建视图;使用CREATEVIEW语句创建视图;视图的管理:
查看视图信息、修改视图、删除视图、重命名视图等;使用视图对表数据操作:
查询、添加、修改、删除等。
任务描述,第一部分,创建视图,1.视图概述,视图是一种常用的数据库对象,是从一个或多个基表中导出的表,其结构和数据是对数据表进行查询的结果。
视图被定义后便存储在数据库中,通过视图看到的数据只是存放在基表中的数据。
视图的概念,视图不是真实存在的基础表(基表),而是一张虚表。
通过视图看到的数据只是存放在基表中的数据对视图的操作与对表的操作一样可以对其进行查询、修改(有一定的限制)和删除;可以在视图的基础上继续创建视图。
2.视图的用途,3.使用managementstudio创建视图,“视图”-”新建视图”-“添加表”,1创建视图,查询库存不足的商品基本信息,结果包括条形码、商品名称、库存数量。
库存不足指库存数量少于30。
视图名为库存不足商品。
4.使用CREATEVIEW语句创建视图,CREATEVIEW视图名(视图列名1,.视图列名n)WITHENCRYPTIONASSELECT语句WITHCHECKOPTIONWITHENCRYPTION:
对视图的定义进行加密。
WITHCHECKOPTION:
迫使通过视图执行的所有数据修改语句必须符合视图定义中设置的条件。
视图列名,列名如未在CREATEVIEW后指明,则由查询语句中列字段组成。
必须明确指明组成视图的所有列名的三种情况:
其中某个目标列不是单纯的列名,而是列表达式或聚合函数;多表连接时,选出了几个同名的列作为视图的字段;需要在视图中为某个列启用新的名字。
-1创建视图,查询库存不足的商品基本信息,结果包括条形码、商品名称、库存数量。
库存不足指库存数量少于30。
视图名为库存不足商品。
createview库存不足商品asselect条形码,商品名称,库存数量from商品where库存数量30go,-2创建视图,查询商品的销售详细信息,结果包括销售号、销售时间、是否会员、支付方式、会员号、条形码、销售数量。
视图名为商品销售详细信息。
createview商品销售详细信息asselect销售.销售号,销售时间,是否会员,支付方式,会员号,条形码,销售数量from销售,进行销售where进行销售.销售号=销售.销售号go,5.查看视图的定义脚本,EXECUTESP_HELPTEXT视图名注意:
如果视图定义中使用WITHENCRYPTION,则无法查看定义脚本。
7.重命名视图,EXECUTESP_RENAME旧视图名,新视图名,8.删除视图,删除一个视图,就是删除视图的定义及其赋予的全部权限,而原先通过视图获得的数据并没有被删除。
使用DROPVIEW语句删除:
DROPVIEW视图名,第二部分,更新视图数据,1.通过视图查询表数据,当定义视图以后,用户就可以像对基础表进行查询一样对视图进行查询了。
可像基础表一样用在FROM子句中作为数据来源。
SELECT列名或表达式FROM表名或视图名WHERE行条件表达式GROUPBY列名HAVING组条件表达式ORDERBY列名ASC|DESC,1重新创建视图目前商品价格2,查询各商品目前的零售价和会员价,结果包括条形码、商品名称、零售价、会员价。
提示:
通过视图目前商品价格1和商品表创建。
将目前商品价格1当成一张表来使用,要查找条形码、商品名称、零售价、会员价将目前商品价格1和商品表连接起来selectdbo.商品.条形码,商品名称,零售价,会员价fromdbo.目前商品价格,dbo.商品where目前商品价格.条形码=商品.条形码,createview目前商品价格2asselect商品.条形码,商品名称,零售价,会员价from目前商品价格1,商品where目前商品价格1.条形码=商品.条形码,2.通过视图更新表数据,实质对视图所引用的基础表执行数据的插入和更新。
视图中本没有数据,往视图中添加、删除、修改数据,都要转化为表中的数据的修改,如果不能转化,就不能修改。
所以是受限制的。
相关限制在一个语句中,一次不能修改一个以上的视图基表;对视图中所有列的修改必须遵守视图基表中所定义的各种数据约束条件;不允许对视图中的计算列进行修改,也不允许对视图定义中包含有统计函数或GROUPBY子句的视图进行插入或修改操作。
2往水果类商品信息视图中添加一条记录:
条形码为:
907992101279,商品名称为:
伊利红枣酸牛奶,库存数量为:
0,商品类型为:
牛奶。
思考:
是否能添加成功?
如果出错,为什么?
消息550,级别16,状态1,第1行试图进行的插入或更新已失败,原因是目标视图或者目标视图所跨越的某一视图指定了WITHCHECKOPTION,而该操作的一个或多个结果行又不符合CHECKOPTION约束。
语句已终止。
-不能添加成功,因为创建视图时使用Withcheckoption,通过视图执行的所有数据修改语句必须符合视图定义中设置的条件,即商品类型=水果。
如果水果类商品信息视图定义时没有Withcheckoption,能添加成功,只是加在商品表上。
水果类商品信息视图显示的是水果类,所以不显示伊利红枣酸牛奶的记录,3往商品销售详细信息视图中添加一条记录,销售号:
101-106-45,销售时间:
2010-4-18,是否会员:
0,支付方式:
现金,条形码:
2000000341316,销售数量:
5。
思考:
能否添加成功?
如果出错,为什么?
insert商品销售详细信息(销售号,销售时间,是否会员,支付方式,条形码,销售数量)values(101-106-45,2010-4-18,0,现金,2000000341316,5),消息4405,级别16,状态1,第1行视图或函数商品销售详细信息不可更新,因为修改会影响多个基表。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 使用 SQL 语句 创建 视图