在特定用户拥有的所有表上授予“选择"权限 [英] Grant Select on all Tables Owned By Specific User
本文介绍了在特定用户拥有的所有表上授予“选择"权限的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要将特定用户拥有的所有表的选择权限授予另一个用户.我可以用一个命令执行以下操作吗?
I need to grant select permission for all tables owned by a specific user to another user. Can I do this with a single command along the lines of:
Grant Select on OwningUser.* to ReceivingUser
还是我必须为每个表生成带有以下内容的sql:
Or do I have to generate the sql for each table with something along the lines of:
Select 'GRANT SELECT ON OwningUser.'||Table_Name||'TO ReceivingUser'
From All_Tables Where Owner='OWNINGUSER'
推荐答案
好吧,这不是一个单独的语句,但它与oracle所能达到的效果差不多:
Well, it's not a single statement, but it's about as close as you can get with oracle:
BEGIN
FOR R IN (SELECT owner, table_name FROM all_tables WHERE owner='TheOwner') LOOP
EXECUTE IMMEDIATE 'grant select on '||R.owner||'.'||R.table_name||' to TheUser';
END LOOP;
END;
这篇关于在特定用户拥有的所有表上授予“选择"权限的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文