SELECT多列,update单列

需求:要求A用户可以访问B用户中某张表中的部分字段,且可以更新B用户中指定的字段。

如:HR用户可以访问scott.dept中的deptno,dname 列,但只能更新dname列。

 

SQL> conn scott/tiger
已连接。

 

SQL> GRANT SELECT ON  DEPT  TO hr;
授权成功。

 

SQL> GRANT update  (dname) ON  DEPT   TO hr;
授权成功。

 

SQL> conn hr/hr
已连接。

 

SQL> create or replace  view update_dname as
  2  (select deptno ,dname from scott.dept);
视图已创建。

 

SQL> select * from update_dname;
DEPTNO DNAME
------ -----------
    31 CODE
    32 CODE
    10 ACCOUNTING
    20 RESEARCH
    30 SALES
    40 OPERATIONS
    11 CODE
已选择7行。

 

SQL> update update_dname set dname='code1' where deptno=31;
已更新 1 行。

 

SQL> commit;
提交完成。

 

-- 由于没有赋予hr用户更新scott.deptno的权限,在更新时报错。

 

SQL> update update_dname set deptno=131 where deptno=31;
update update_dname set deptno=131 where deptno=31
       *
第 1 行出现错误:
ORA-01031: 权限不足

SQL>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值