创建、删除、查询视图,只给用户查询权限

创建、删除、查询视图,只给用户查询权限

=======================其他=============================

--  删除用户

drop user order_select_zzzxyy cascade;  

--创建用户 并且 给用户分配表空间

 create user order_select_zzzxyy identified by order_select_zzzxyy  default tablespace orderweb --默认分配到这个表空间里;

   --授权给用户连接权   

    grant connect to order_select_zzzxyy ;

     

  ===============创建视图,只给某个用户查询权限=======================

-- 创建视图  注:当前登录的用户 是 orderweb_zzzzyy(有最高权限)

CREATE OR REPLACE VIEW view_orderweb_order(pf_order_id,

       order_date,

       status,

       take_password,

       visit_no,

       platform_deptid,

       visit_level,

       timerange,

       scheduledate,

       start_time,

       end_time,

       medi_cardid,

       papers_num,

       create_time,

       front_provider_id)

       

     AS select t.pf_order_id,

       t.order_date,

       t.status,

       t.take_password,

       t.visit_no,

       t.platform_deptid,

       t.visit_level,

       decode(t.timerange,'上午','a','下午','p'),

       t.scheduledate,

       SUBSTR(t.scheduledate, -17, 8) start_time,

        SUBSTR(t.scheduledate, -8, 8) end_time,

       t.medi_cardid,

       t.papers_num,

       t.create_time,

       t.front_provider_id

  from orderweb_order t order by pf_order_id desc;

 

注:当前登录的用户 是 orderweb_zzzzyy有最高权限

   --授权用户:把视图的查询权限授权给 order_select_zzzxyy 用户

   grant select on orderweb_zzzzyy.view_orderweb_order to order_select_zzzxyy;

           |                                                  |                               |

       查询权限                                    视图名            把权限分配给谁

 

-- 查询视图

  SELECT * FROM view_orderweb_order

  -- 删除视图

  DROP VIEW orderweb_zzzzyy.orderweb_order_vw

 

-- 一条完整SQL

select t.pf_order_id,

       t.order_date,

       t.status,

       t.take_password,

       t.visit_no,

       t.platform_deptid,

       t.visit_level,

       decode(t.timerange,'上午','a','下午','p'),

       t.scheduledate,

       SUBSTR(t.scheduledate, -17, 8) start_time,

        SUBSTR(t.scheduledate, -8, 8) end_time,

       t.medi_cardid,

       t.papers_num,

       t.create_time,

       t.front_provider_id

  from orderweb_order t order by pf_order_id desc;

 

 

=====================视图相关资料=============================

  1. 视图创建语法:

语法结构:创建视图

CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view_name

    [(alias[, alias]...)]

 

AS subquery

     [WITH CHECK OPTION [CONSTRAINT constraint]]

     [WITH READ ONLY]

 

语法解析:

OR REPLACE    :若所创建的试图已经存在,则替换旧视图;

FORCE:不管基表是否存在ORACLE都会自动创建该视图(即使基表不存在,也可以创建该视图,但是该视图不能正常使用,当基表创建成功后,视图才能正常使用);

NOFORCE  :如果基表不存在,无法创建视图,该项是默认选项(只有基表都存在ORACLE才会创建该视图)。

alias:为视图产生的列定义的别名;

subquery  :一条完整的SELECT语句,可以在该语句中定义别名;

WITH CHECK OPTION  :插入或修改的数据行必须满足视图定义的约束;

WITH READ ONLY       :默认可以通过视图对基表执行增删改操作,但是有很多在基表上的限制(比如:基表中某列不能为空,但是该列没有出现在视图中,则不能通过视图执行insert操作),WITH READ ONLY说明视图是只读视图,不能通过该视图进行增删改操作。现实开发中,基本上不通过视图对表中的数据进行增删改操作。

 

1. 创建视图例子

 

2. 视图查询

 

3. 删除视图

4. 给用户授权某视图的查询功能

 

注:截图来自于网络;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值