5
情況是我有兩個模式:A和B.我有一個受限用戶,我需要授予在B模式中執行SELECT查詢的權限。我如何授予此用戶?如何授予特定模式的用戶權限?
情況是我有兩個模式:A和B.我有一個受限用戶,我需要授予在B模式中執行SELECT查詢的權限。我如何授予此用戶?如何授予特定模式的用戶權限?
你不能。
您可以做的最好的事情是向用戶授予模式b中每個表的「選擇」特權。
此查詢會生成命令你將需要:
select 'grant select on A.'||table_name||' to B;'
from dba_Tables
where owner = 'A';
與此問題,在情況下,你會想新表添加到A.那麼你就必須授予特權在它上面分開。它不會自動做吧..
你可能會發現你沒有訪問dba_tables
, 代碼運行在擁有架構(一)將權限授予所有表下面的塊,以用戶b
BEGIN
FOR t IN (SELECT * FROM user_tables)
LOOP
EXECUTE IMMEDIATE 'GRANT SELECT ON ' || t.table_name || ' TO b';
END LOOP;
END;