这是有声音的视频, 请检查耳机或者音箱 声音输出设备

教程使用 Oracle 11g Release 2 版本

内容:视图的介绍和使用

===========================
表和视图的区别,表是占用硬盘空间物理表,而视图可以理解为一个虚表,并不存储在硬盘上,

不占用硬盘空间,实际上就是一个查询语句,方便查询。

对视图里面的数据操作(增 删 改) 其实就是对真实的表 增 删 改, 它们始终保持一致性。

哪为什么还需要视图 ?

视图可以理解成一个封装过的表, 例如不让用户 清楚知道表的某些字段信息,比较安全。

===========

下面进行操作 演示

CREATE TABLE xue_sheng( id integer, xing_ming varchar(25),xing_bie number, fen_shu number, b_id integer);

INSERT INTO xue_sheng VALUES(1,'ZhanSan',1,80,1);

INSERT INTO xue_sheng VALUES(2,'LiSi',1,90,2);

INSERT INTO xue_sheng VALUES(3,'ZhanHong',0,75,2);

INSERT INTO xue_sheng VALUES(4,'ChenXiaoMing',1,85,1);

增加一个视图:
SQL> CREATE VIEW xs_view AS SELECT * FROM xue_sheng;
CREATE VIEW xs_view AS SELECT * FROM xue_sheng
*
ERROR at line 1:
ORA-01031: insufficient privileges scott没有创建视图的权限

----------------------------------
SQL> conn /as sysdba
Connected.
SQL> grant connect,dba to scott;
Grant succeeded.

SQL> conn scott/tiger
Connected.

SQL> CREATE VIEW xs_view AS SELECT * FROM xue_sheng;
View created.

------------------------------

SELECT * FROM xs_view;

往视图插入数据
INSERT INTO xs_view(id,xing_ming) VALUES(5,'test');

SELECT * FROM xs_view;

SELECT * FROM xue_sheng;

操纵视图,其实是操作真实的表中

CREATE OR REPLACE 的使用 和 设置视图的权限 WITH READ ONLY 只读

修改原来的视图, 其实就是做一个替换

CREATE OR REPLACE VIEW xs_view AS SELECT * FROM xue_sheng WITH READ ONLY;

SQL> INSERT INTO xs_view(id,xing_ming) VALUES(6,'test2');
INSERT INTO xs_view(id,xing_ming) VALUES(6,'test2')
*
ERROR at line 1:
ORA-42399: cannot perform a DML operation on a read-only view

提示这是一个 read-only view 只读的视图

================================================================

CREATE OR REPLACE VIEW xs_view AS SELECT * FROM xue_sheng WHERE fen_shu >= 80;

SELECT * FROM xs_view;

这样使用视图比较方便。

--------------------------

CREATE TABLE ban_ji( id integer , ban_ji varchar(25));

INSERT INTO ban_ji VALUES(1,'1-(1)');

INSERT INTO ban_ji VALUES(2,'1-(2)');

INSERT INTO ban_ji VALUES(3,'1-(3)');

SELECT x.id, xing_ming,ban_ji FROM xue_sheng x JOIN ban_ji b ON x.b_id=b.id;

建立一个简单的视图, 取代复杂的查询语句
CREATE OR REPLACE VIEW xs_view AS SELECT x.id, xing_ming,ban_ji FROM xue_sheng x JOIN ban_ji b ON x.b_id=b.id;

SELECT * FROM xs_view;

显示视图的字段和数据类型
DESC xs_view;

视图的内容其实不多, 比较要注意的话,就是开始创建视图,要有创建的权限。结束了,88


“oracle_11gR2_09 视图 VIEW 的介绍(方便,安全,一致)和使用(创建,修改)”没有评论

有任何疑问或建议,可以给作者留言:



公告:

  • 2010年5月之前的视频是文字解说演示,没有声音。
  • 2010年5月以后的视频全部带声音。