grant select on emp to user1;
这样将scott自己的emp表的查询权限授权给user1这个用户是可以的,但如果这样授权就有问题:
grant select on emp(empno) to user1; // 将查询权限限定在emp表的empno这个字段上,就是只能让用户user1查询emp表中的empno这个字段,别的不能查询。。。
上边这样做出现:ORA-00905: 缺失关键字 的错误。。。
除了使用试图外,有没有直接限定的方式???
1、在PLSQL里,用sys(oracle系统用户)登陆,登陆的时候要选择SYSDBA。
2、在左边的菜单里找到Users节点,右击选择添加功能。在打开的界面里写上用户名、密码,临时表空间一般选择temp。
3、对象权限无需添加,角色权限选择connect和resource即可。
4、系统权限选择create any procedure、create any view、debug connect session、unlimited tablespace。
5、最后点击应用保存即可。
晕死,看清楚我问的问题好不好。。。。
追答呵呵,哈哈,嘿嘿 这样子滴啊,楼上不是说了么建个视图把要查询的字段放里面,把视图权限给那个用户就ok咯
追问这种方法是可行,有没有更好的方法,直接限定到一张表的某个字段,而不借助别的方法、、
追答等待高手中。。。
本回答被网友采纳grant select on emp to user1;
这样将scott自己的emp表的查询权限授权给user1这个用户是可以的,但如果这样授权就有问题:
grant select on emp(empno) to user1; // 将查询权限限定在emp表的empno这个字段上,就是只能让用户user1查询emp表中的empno这个字段,别的不能查询。。。
上边这样做出现:ORA-00905: 缺失关键字 的错误。。。
除了使用试图外,有没有直接限定的方式???
在命令模式下
sqlplus sys/oracle as sysdba;
SQL>grant select any dictionary to hr(或者其他普通用户);
老大,看清楚我问的问题。。。