プロが教えるわが家の防犯対策術!

Oracle初心者です。検索してもなかなかhitしないので、質問させていただきます。

aaaとbbbというスキーマがあると仮定します。
aaaにはパスワードテーブル
bbbにはユーザテーブルがあるとします。
ユーザテーブル、パスワードテーブルにはそれぞれuser_idカラムがあり、そのuser_idをキーにして、aaaのpasswordカラムのデータを取得したいと思っています。
sql*plusでbbbに接続して、作業をしています。
言語はPL/SQLを使用しています。

単純に
SELECT a.password
FROM aaa.パスワードテーブル a, bbb.ユーザテーブル b
WHERE a.user_id = b.user_id
とすれば良いのかと思っていたら、違うようで、オブジェクトが存在しないと言うエラーになりコンパイルが通りません。

このよう違うスキーマのテーブルを参照する場合、どのようにすれば良いのでしょうか?

A 回答 (2件)

#1さんの回答が正解!


権限だけの問題だぁ。
めんどくさけりゃ、パブリックシノニムで作成しちゃえば、どのユーザーからでも参照できるよん。
    • good
    • 1

こんにちわ



> オブジェクトが存在しないと・・・
単に、権限が付与されていないだけだと思います。

Grant select on aaa.パスワードテーブル to ユーザ名;
Grant select on bbb.ユーザテーブル to ユーザ名;
で、作業しているユーザにそれぞれのオブジェクトを参照する権限を付与して下さい。
    • good
    • 7

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

このQ&Aを見た人はこんなQ&Aも見ています

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


このQ&Aを見た人がよく見るQ&A