2016-08-23 5 views
-2

でパブリック・シノニムを作成します。シノニム?グラント権限とあなたは私の役割を付与し、作成するためのクエリを書くのを手伝ってもらえ、私はスキーマAのビューを持っていると私はスキーマB.</p> <p>でこれらのビューのシノニムを作成するOracle

+0

特権がないためパブリックシノニムを直接作成できない – SitGeek

+0

「ロールを付与する」とはどういう意味ですか? AとBの両方でログインできますか? –

+0

これにパブリックシノニムは必要ありません。 –

答えて

1

ユーザAから、あなただけの同義語の作成は、スキーマの接頭辞(「A」)することなく、ユーザAの図を参照することができ、BからユーザB

GRANT SELECT ON A.viewname1 TO B; 
GRANT SELECT ON A.viewname2 TO B; 
... 

に、ユーザAのビューにSELECT権限を付与する必要があります。彼らはCREATE SYNONYM権限を持っている場合、ユーザーはのみCREATE SYNONYMを使用することができ

SELECT * FROM viewname1; 

注:ユーザBは、このようにそれらのビューから選択する

CREATE SYNONYM viewname1 FOR A.viewname1; CREATE SYNONYM viewname2 FOR A.viewname2; ... 

は、今では可能なはずです。

+0

この種のものにはパブリック・シノニムを使用することはお勧めできません。ある日、スキーマCは 'viewname1'の独自のバージョンを持ちたいと思います。 –

+1

@ジェフリー:あなたは正しいです。私はこれを反映する答えを編集しました。 – Gaz

関連する問題