注:此文转自李黎敏
CREATE VIEW view_partAS SELECT 员工表.编号,员工表.姓名,员工表.性别,员工表.所属部门,项目表.项目编号,项目表.名称FROM 项目表 INNER JOIN 员工表 ON 项目表.负责人 = 员工表.编号WHERE 员工表.所属部门='项目部'
例子2:定义视图时指定别名并加密
CREATE VIEW 项目信息视图(项目名称,项目客户,项目负责人,开始日期,【计划工期(天)】) with encryption
AS
SELECT 项目表.名称,客户表.客户名称,员工表.姓名,项目表.开始日期,DATEDIFF(day,项目表.开始日期,项目表.结束日期)
FROM 项目表 INNER JOIN 员工表 ON 项目表.负责人 = 员工表.编号 INNER JOIN 客户表 ON 项目表.客户 = 客户表.客户编号
WHERE 员工表.所属部门='项目部'
CREATE VIEW ygb_view
AS
SELECT * FROM 员工表 WHERE 员工表.性别=‘女’
执行下列语句,插入新记录:
INSERT INTO ygb_view(姓名,性别,工资)values(‘李立三’,‘男’,2300)
插入操作成功,但不合理!解决办法:使用with check option,程序清单如下:
CREATE VIEW ygb_view AS SELECT * FROM 员工表 WHERE 员工表.性别=‘女’With check option
同样,插入新记录:INSERT INTO ygb_view(姓名,性别,工资) values(‘李立三’,‘男’,2300)
插入操作将失败!
注意:视图是虚拟表,其本身不存储数据(来自其引用表),添加的数据是存储于视图参照的数据表中。
使用视图前提条件
1)用户有向数据表插入数据的权限;
2)视图只引用表中部分字段,插入数据时只能是明确其应用的字段取值;
3)未引用的字段应具备下列条件之一: 允许空值;设有默认值;是标识字段;数据类型是timestamp或uniqueidentifer;
4)视图不能包含多个字段的组合
5)视图不能包含使用统计函数的结果;
6)视图不能包含DISTINCT或GROUP BY子句;
7)定义视图使用WITH CHECK OPTION,则插入数据应符合相应条件;
8)若视图引用多个表,一条INSERT语句只能同一个基表表中数据;
9)视图引用多个表时,无法用DELETE命令删除数据。
CREATE VIEW ygb_view AS SELECT * FROM 员工表 WHERE 员工表.性别=‘女’ with check option
然后,通过执行以下语句使用该视图向基表添加一条新的数据记录:
INSERT INTO ygb_view(姓名,性别,工资) values(‘李立平’,‘女’,2300)
更新数据记录 使用视图可以更新基表数据记录(注意使用INSERT时的限制同样适用)。
例子3:(1) update 项目_view set 项目负责人= ‘王大力’ where 项目负责人= ‘王立兵’
(2) update 项目_view set 结束日期= DATEADD(day,50,结束日期) where 客户名称=‘CCH公司’
删除数据记录 利用DELETE语句,使用视图删除记录,可以删除任何基表中的记录。
注意: 必须指定在视图中定义过的字段来删除记录;
视图引用多个表时,无法用DELETE命令删除数据。
例子4:delete ygb_view where 员工工资<1500
分享到:
相关推荐
数据库视图的创建和使用,对视图的创建、修改和删除均可在可视化界面下操作
数据库视图、存储过程与函数入门学习 内容循序渐进 很详细 很规范 从概念到示例 很适合初学者学习
数据库视图的创建与使用ppt,需要的童鞋课下载
数据库视图的利弊.txt
你可以通过创建表的视图来表现数据的逻辑子集或数据的组合。视图 是基于表或另一个视图的逻辑表,一个视图并不包含它自己的数据,它 象一个窗口,通过该窗口可以查看或改变表中的数据。视图基于其上的 表称为基表。...
第7章+sql数据库视图与索引.ppt第7章+sql数据库视图与索引.ppt第7章+sql数据库视图与索引.ppt第7章+sql数据库视图与索引.ppt
视图的详细讲解 过程很详细 及时帮助掌握视图的相关用法
数据库视图和索引游标实验报告.doc
Delphi创建SQLserver数据库视图的例子,使用create View语句来生成视图,当然本程序创建好视图后,也可删除视图,下面是详细的代码: //创建一个视图: procedure TForm1.Button1Click(Sender: TObject); ...
数据库视图PPT资源
如何使用数据库视图,并用通过视图来修改数据
达梦数据库视图工具+驱动包
创建mysql数据库视图.pdf
1. 启动数据库服务软件SQL Server 2000的查询分析器,用CREATE VIEW语句建立视图,语法格式如下: CREATE VIEW <视图名> [(<属性列1>[,<属性列2>]…)] AS <子查询> [WITH CHECK OPTION]; 2.用DROP VIEW语句删除,...
sql数据库视图、存储过程
211080072 蔡欣芸 数据库视图作业.sql
211080083 许舒娜 数据库视图作业.sql
1. 实验目的 通过视图的创建过程,理解视图的概念和意义,掌握视图的基本使用方法。 2. 实验要求 ...在三层数据库中,视图是外部数据库,它是从基本表中派生出来的,并且依赖于基本表。它在内存中不存储数据