• ベストアンサー

別のスキーマのテーブルアップデートの件

お世話になります。 Oracle初心者です。 別のスキーマのテーブルをアップデートすべく、 PLSQL(プロシージャ)作成したのですが、 コンパイルすると、ORA01031:権限が不足しています。 と出てしまいます。 どなたかご教示下さいます様、 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

>これは、plsqlの記述内に加えるのでしょうか 同じplsql内では同じユーザーですので、GRANT権限が無いのが普通ですので、GRAN権限の有るユーザーで接続してGRANTします。 >それとも一度これを実行(コンパイル!?)すれば良いのでしょうか。 DROP TABLEしない限り、一回実行しておけば良いので、通常はCREATE TABLE直後にGRANTを実行しておきます。

miruchoko
質問者

お礼

有難うございます。 しかしうまくいきません。 どこでどういう風にGRANTをすれば良いのか 今一分からず、SQL PLUSで 「GRANT update on pipe(他スキーマ名) to psuser(スキーマ名)」 と実行(enter)したのですが、 折り返しで、「2」としか表示されなく、とりあえず これで良いのかどうかと思いながら、 PLSQLでUPDATEプロシージャを実行して見ましたが、 結果は変わらず、ORA01031:権限が不足しています。 と出てしまいます。 又、上記のpipe(他スキーマ名)は本当はpipe.emp(他スキーマ.表名) としたかったのですが、表明が日本語でSQL PLUSでは日本語の表記の 仕方が分からなかったので上記の様にしました。 まったく何をやってるんだろうと言うレベルなのだとは 思いますが、もう少しお付き合い頂きたく誠に申し訳ございませんが、 再度ご教示願いたく宜しくお願い申し上げます。

その他の回答 (1)

回答No.1

「権限が不足しています。」なのでGRANTでUPDATEの権限をユーザーに与えて下さい。

miruchoko
質問者

お礼

ご回答頂き有難うございます。 GRANT update on pipe.emp(他スキーマ.表名) to psuser(ユーザー名) こういう様にでしょうか。 これは、plsqlの記述内に加えるのでしょうか。 それとも一度これを実行(コンパイル!?)すれば良いのでしょうか。 ド素人な質問ですみません。 ご教示下さいます様宜しくお願い致します。

関連するQ&A