首页 > 数据库

oracle遍历文件夹下所有文件

时间:2009-05-20 11:51:21  作者:Bill  我要投稿
Linux初探欢迎您的投稿,投放方法请点击这里查看,我们会定期赠送精美小礼品给优秀的投稿作者。海纳百川 取则行远!LinuxGoo欢迎您的到来。
我们现在把JAVASYSPRIV和JAVAUSERPRIV给revoke掉:SQL> revoke JAVASYSPRIV from VMITH;Revoke succeeded.SQL> revoke JAVAUSERPRIV from VMITH;Revoke succeede......
oracle存储过程的authid
2007-12-17 10:19

oracle创建存储过程时,若不指定authid参数,则调用权限验证默认是definer,也就是存储过程执行时,以这个存储过程的创建者的身份来验证存取权限;可以在创建存储过程时指定authid为current_user,从而在执行存储过程时根据当前调用存储过程的用户权限来验证。
举个例子说明:

比如有两个用户test和user1,test用户下有个表user1table,用户user1只有这个表的select权限。test创建了一个存储过程testproc,使用默认的authid调用方式,存储过程内容为“insert into user1table ....”,然后使用grant execute on testproc to user1将执行权限赋予user1,那么user1就可以调用这个存储过程向user1table添加数据。注意:此时user1并没有对表user1table的insert权限,但由于testproc执行的时候,是根据test用户的权限来验证的,因此insert语句不会出现权限不足的提示。

假如创建testproc是添加了authid current_user,则当user1调用test.testproc存储过程时,就会报两个错误:一是user1table未定义,二是对user1table没有insert权限。对于第一个问题,原因是user1table仅在test用户模式下,user1用户不能直接引用,可以在定义testproc时使用test.user1table方式;对于第二个问题,由于user1没有对user1table的insert权限,因此无法执行这个存储过程,除非给user1用户增加user1table表的insert权限。

如果您需转载 oracle遍历文件夹下所有文件,请注明来自LinuxGoo.com,其版权归原作者所有。请广大网友留言时遵纪守法,使用文明用语。如果您在应用中有什么问题,请在下面留言,我们会尽快解答。
来顶一下
近回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
相关文章
栏目热门