oracle怎么回收表owner的权限

janwen2010 2013-08-16 11:18:05
表A的owner是B,但是怎么样才能让B只有select权限,而没有insert权限呢
...全文
480 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
microhex 2014-12-08
  • 打赏
  • 举报
回复
这题目有意思啊。。。
卖水果的net 2014-12-08
  • 打赏
  • 举报
回复
如果所有人都不让 insert ,就把表设置为只读的。 如果只是让部分用户写,可以加一个 替换触发器,判断当前的用户是哪个用户。
ning_wnn2014 2014-12-08
  • 打赏
  • 举报
回复
逻辑出现错误,用户B创建的表,为什么要回收本用户的权限,而且若要回收权限,首先应该先赋予权限,楼主若是想要收回,那么把表建立在其他用户下,然后对用户B授权访问该表的权限。
引用 4 楼 zhaowensheng123 的回复:
用户B建的表你不能回收,回收的前提是你已经赋予了权限。 比方说我现在回收自己创建的表A的删除权限,oracle会出现这样的错误:

SQL> revoke delete on A from xiaohong;
revoke delete on A from xiaohong
ORA-01927: 无法 REVOKE 您未授权的权限
可以理解,我确实没有给A表授权,所以何来收回权限之说。
WSZHAO_SELECT 2014-03-18
  • 打赏
  • 举报
回复
用户B建的表你不能回收,回收的前提是你已经赋予了权限。 比方说我现在回收自己创建的表A的删除权限,oracle会出现这样的错误:

SQL> revoke delete on A from xiaohong;
revoke delete on A from xiaohong
ORA-01927: 无法 REVOKE 您未授权的权限
可以理解,我确实没有给A表授权,所以何来收回权限之说。
出道天下必乱 2013-08-17
  • 打赏
  • 举报
回复
以B表权限的分配者身份登陆 或是直接用SYSTEM登陆 然后收回INSERT权限就好了 revoke insert on 表A from B;
善若止水 2013-08-17
  • 打赏
  • 举报
回复
这不可能,不符合逻辑。
关工 2013-08-16
  • 打赏
  • 举报
回复
表是B建立的,却让B没有insert权限,这不可能吧。你可以把表建在别的用户上,给B建同义词。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧