プロが教える店舗&オフィスのセキュリティ対策術

MAINとSUBと言うスキーマを作成し、MAINスキーマにSUBスキーマにある
テーブルを使用してVIEWを作成したいのですがうまくいきません。

A 回答 (2件)

SQLリファレンスで"CREATE VIEW"の部分を見ると、以下のように書かれています。



「ビューが含まれているスキーマの所有者は、そのビューの基礎となっているすべての表またはビューに対する行の選択、挿入、更新または削除の権限が必要です。また、所有者には、これらの権限がロールを介してではなく、直接付与されている必要があります。」

"DBA"はロールなので、CREATE VIEWを成功させるための条件にはなりません。表のSELECT権限を直接与える必要があります。
    • good
    • 0
この回答へのお礼

うまくいきました。ありがとうございました。

お礼日時:2006/09/29 09:46

(1) SUBスキーマからMAINスキーマに対しテーブルのSELECT権限を与えてますか?


(2) 参照する際に
 スキーマ名.テーブル名
 でアクセスしてますか?
(3) MAINユーザにCREATE VIEW権限は付与されていますか?

#どういうSQL文を書いて、どういうエラー(ORA-xxxx)が出たのかを書かないと、回答する側も難しいので最低限書くようにしましょう。(公開できる範囲で。)
#バージョンやOS情報あったほうがベターです。

この回答への補足

言葉足らずで申し訳ございません。
(1)両スキーマ共にDBA権限を与えています。
  SUBスキーマからMAINスキーマに対し、と言う点では方法が解りません。
(2)CREATE OR REPLACE VIEW MAIN.V_SYORI_YM
( KY_YMD,SY_YMD ) AS
SELECT SUB.TBL_YMD.KY_SIKYU_YYYYMMDD,
SUB.TBL_YMD.SY_SIKYU_YYYYMMDD
FROM SUB.TBL_YMD
WHERE ( SUB.TBL_YMD.KYTAI_CODE = '01' );
 上記、SQLではダメでしょうか。
(3)DBA権限を与えています。
エラーはORA-01031: insufficient privilegesです。
OS:2000 DB:ORACLE10Gです。

補足日時:2006/09/20 08:57
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す