您的位置:首页 > 数据库 > Oracle

Oracle过程中如何获得系统权限以外角色所属的权限!

2008-11-02 20:25 375 查看
我们经常有时会遇到这样一个问题,就是在Oracle中建立一个用户,当给这个用户赋予权限时,有角色权限和系统权限,当有些时候方案中的过程需执行一段DDL操作时,可能会提示当前用户的权限不够,而在plsql中单独执行却是可以的,这是因为当前用户执行时可以通过它的角色来获得角色上所拥有的系统权限,而在过程中只能直接获得系统权限,这种问题是出现在Oracle9i以后中的,Oracle也提供了此问题的解决方案,在过程或函数中加入 Authid Current_User(置于AS前面)即可;

如:Create op replace function Fun_sys_get_maxid

return integer Authid Current_User as....

即可解决上述问题!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: