在oracle 11g中,我有一個包含應用程序所需的相關表的所有者模式。選擇對所有表的訪問
對於我的外部應用程序,我正在嘗試創建另一個用戶,該用戶應該在某些表上選擇訪問上述架構的用戶。 讓失主模式A和新架構B
create user B identified by blah;
grant connect to B;
登錄到原來的模式中的後,我跑以下(用於演示我對所有表給選擇)
begin
FOR x IN (select * from user_tables)
LOOP
EXECUTE IMMEDIATE 'GRANT SELECT ON ' || x.table_name || ' TO some_role';
END LOOP;
end;
grant some_role to B;
如果我以用戶B登錄並執行查詢,如
select count(*) from A.some_table ;
它的工作原理。但是,如果沒有創建公共同義詞,我有可能以下列方式授予 以便以用戶B身份登錄時執行以下操作?
select count(*) from some_table;
感謝
,我得到空行。即使SELECT * FROM USER_TAB_PRIVS用戶B給出的空行 – cableload
對不起,我在做它通過角色......所以選擇*來自role_tab_privs的作品! – cableload
@cableload謝謝,由於某種原因沒有注意到角色問題。我相應地修改了我的答案。 – Mureinik