Oracle触发器之——同一表空间下的不同用户


统一表空间不同用户下书写触发器或者查询等操作,主要的是权限问题的解决。
下面主要对权限问题进行说明:

1、触发器引用表:
 触发器引用表时,它使用表创建者的组成员资格找到未指定的显示所有者下的表。例如,如果user_1.table_a上的触发器引用table_b,并且没有指定table_b的所有者,那么table_b就必须是由user_1创建的表,或者user_1必须是能访问到的,或者说是能够作为table_b的所有者身份来出现。如果连一种条件都不满足,那么,拜拜,没得玩了,当你执行触发器时,会出现找不到表或视图的错误提示信息。


2、上面出现的问题,归根揭底,是没有操作表的权限的问题。那么如何来让它拥有这个权力呢?我们可以这样做:

需要授予权限的方面较多,这里只针对用户对表的增、删、改、查,进行权限的设置,主要格式如下:

GRENT 权限 ON 表名 TO 用户名;

e.g GRENT insert ON table_1 TO user_1;   --给予追加操作的权力


3、授权情况解释:

如果在user_1用户的‘table_1’表上的触发器中对user_2用户中的‘table_2’表进行引用,执行增、删、改的操作,那么就需要user_2用户给予user_1用户‘table_2’的相应的权限,(登陆user_2用户,执行GRENT insert ON table_2 TO user_1;即需要user_2用户给予user_1用户table_2的权限。).

反之亦然,。



  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值