视图的作用 1、视图屏蔽掉一些敏感字段 2、保证总部和分部数据及时统一

    1. -- 视图
    2. -- 视图的概念:视图就是一个提供查询的窗口,所有的数据来自于原表
    3. -- 查询语句创建表,可以跨用户查询
    4. create table c_emp as select * from c##hikktn.emp;
    5. select * from c_emp;
    6. -- 创建视图,必须有dba权限
    7. create view v_emp as select ename, job from emp;
    8. -- 查看视图
    9. select * from v_emp;
    10. -- 修改视图
    11. update v_emp set job = 'CLERK' where ename = 'ALLEN';
    12. commit;
    13. -- 创建只读视图
    14. create view v_emp1 as select ename,job from emp with read only;

    视图(View)创建使用,视图(View)实际上是一张或者多张表上的预定义查询,这些表称为基表。从视图中查询信息与从表中查询信息的方法完全相同。只需要简单的SELECT…FROM即可。
    视图具有以下优点:

    1. 可以限制用户只能通过视图检索数据。这样就可以对最终用户屏蔽建表时底层的基表
    2. 可以将复杂的查询保存为视图。可以对最终用户屏蔽一定的复杂性。
    3. 限制某个视图只能访问基表中的部分列或者部分行的特定数据。这样可以实现一定的安全性。
    4. 从多张基表中按一定的业务逻辑抽出用户关心的部分,形成一张虚拟表。 ```sql CREATE [OR REPLACE] [{FORCE|NOFORCE}] VIEW view_name

    AS

    SELECT查询

    [WITH READ ONLY CONSTRAINT] ``` 语法解析:

    1. OR REPLACE:如果视图已经存在,则替换旧视图。
    2. FORCE:即使基表不存在,也可以创建该视图,但是该视图不能正常使用,当基表创建成功后,视图才能正常使用。
    3. NOFORCE:如果基表不存在,无法创建视图,该项是默认选项。
    4. WITH READ ONLY:默认可以通过视图对基表执行增删改操作,但是有很多在基表上的限制(比如:基表中某列不能为空,但是该列没有出现在视图中,则不能通过视图执行insert操作),WITH READ ONLY说明视图是只读视图,不能通过该视图进行增删改操作。现实开发中,基本上不通过视图对表中的数据进行增删改操作。