如果我们在数据库中,想把一位用户的权限共享给另一位,即使给另一位用户权限查看某些表格,我们需要进行授权。
Ex. A共享给B
我们需要在A用户下执行:
GRANT SELECT ON <table_name> TO <user_B>;
在B用户下创建同义词:
create synonym <table_name> for <user_A>.<table_name>;
这样,B就可以获得表的select权限。当A用户更改表后,B用户也可以查看到。
该共享是指,A&B用户共用一张表,不是B用户获得A用户的复制表。
*参考资料:oracle把一个用户的所有表的查询权限给另一个用户_oracle授权表权限给用户_小码蚁啊的博客-CSDN博客
同义词
1. 定义
Oracle同义词(Synonym) 是数据库对象的一个别名,和试图的功能类似,就是一种映射关系。
- 私有同义词:拥有 CREATE SYNONYM 权限的用户(包括非管理员用户)即可创建私有同义词,创建的私有同义词只能由当前用户使用。
- 公有同义词:系统管理员可以创建公有同义词,公有同义词可以被所有用户访问。
2. 创建语句
create [or replace] [PUBLIC] sysnonym [user_1.]<table_name> FOR [user_2.]<table_name>
3. 删除语句
drop [public] synonym <table_name>
*参考资料:Oracle 同义词(Synonym)_JFS_Study的博客-CSDN博客Oracle的同义词(synonyms)_oracle 同义词_风自扬的博客-CSDN博客