具体问题是这样的:
oracle用户下有A B两个用户,A用户下有A.T1 A.T2 A.T3等表,现在想把这些A用户下的表查询权限赋予B用户。
几点说明:
1.A用户下有很多表,我只想把某些特定的表(A.T1 A.T2 A.T3等表)的查询权限赋予B用户。
2.A用户下的特定表产生有规律,比如 一月份生成A.T1表 二月份生成A.T2表 三月份生成A.T3表 ……
最终想实现的是,在一月份的时候,B用户能查询A.T1表 ;二月份的时候,B用户能查询A.T2表;三月份的时候,B用户能查询A.T3表…… 这个如何实现?能不能说明一下,给出具体方法。分数不是问题,可以追加。
开通其中2张表的查询权限,方法如下:
grant select on bas_checkcycle to jdc;这个是整个语句。
语句分析:
grant select on bas_checkcycle to jdc;
这个颜色为执行语句。
这个颜色是数据表。
这个颜色是用户;就是需要权限的用户。
下面这个是查看,更新,删除,增加的权限都开启。
grant select,update,delete,insert on UserTagPool to [app_webservice];
grant select,update,delete,insert on UserTagPoolMap to [app_webservice];
扩展资料
Oracle权限管理
权限分类:
系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。
实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。
系统权限分类:
DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。
你理解的没有问题,表名中的变量就是月份。 由于没有存储过程这方面的经验,所以想找一个经过测试现成的,请问有没有?
追答另外,不知道在2月份授权B用户读T2表的时候,是否要收回T1表的读取权限,如果是,那就再拼接一个SQL,不过要多几个步骤,要先把输入的字符串转换成上个月的代码,再拼接到REVOKE的SQL里。
追问不用回收,就是说让B用户拥有所有A用户下的T类型的表的读权限。
追答那基本就这样了。
本回答被提问者和网友采纳赋予oracle数据库中权限,用grant语句。
如将scott用户下的emp表的查询权限赋予system用户,可用如下语句:
grant select on emp to system;将scott用户下的emp表的更新权限赋予system用户,可用如下语句:
grant update on emp to system;