我有3和表表1,表2,表3。 我想授予(例如選擇)這些表給用戶user1。授予SELECT多個表上的Oracle
我知道,我可以授予:
grant select on table1 to user1;
grant select on table2 to user1;
grant select on table3 to user1;
我可以給予3分表只使用1查詢爲user1?
感謝
我有3和表表1,表2,表3。 我想授予(例如選擇)這些表給用戶user1。授予SELECT多個表上的Oracle
我知道,我可以授予:
grant select on table1 to user1;
grant select on table2 to user1;
grant select on table3 to user1;
我可以給予3分表只使用1查詢爲user1?
感謝
號作爲documentation shows,你只能授予在同一時間訪問一個對象。
我的建議是......通過使用該角色的任何用戶創建使用
create role <role_name>;
然後將權限分配給該角色使用
grant select on <table_name> to <role_name>;
然後分配給該組的權限在Oracle中的作用
grant <role_name> to <user_name>...;
您可以使用動態查詢來執行此操作,只需在pl-sql或sqlpl中運行以下腳本我們:
select 'grant select on user_name_owner.'||table_name|| 'to user_name1 ;' from dba_tables t where t.owner='user_name_owner'
然後執行結果。
你應該複製/粘貼結果來執行它嗎? – 2015-01-20 14:59:14
這爲我工作我在Oracle數據庫上:
SELECT 'GRANT SELECT, insert, update, delete ON mySchema.' || TABLE_NAME || ' to myUser;'
FROM user_tables
where table_name like 'myTblPrefix%'
然後,複製結果,並將其粘貼到編輯器,然後像一個腳本來運行它們。
你也可以寫一個腳本,並使用「立即執行」運行生成的SQL如果你不想額外的複製/粘貼步驟。
[Oracle SQL privelege授權在多個屬性和一個語句表上的可能重複](http://stackoverflow.com/questions/13106087/oracle-sql-privelege-authorization-on-multiple-attributes-and-tables -with-one-st) – 2013-03-16 18:57:44