0

特定のユーザーに 2 つのテーブルの選択、更新、挿入、および作成セッションを許可しました。SQL Developerを使用してそのユーザーでログインすると、テーブルが表示されません。そのための別の許可はありますか?

4

1 に答える 1

1

詳細情報がなければ(私のコメントを参照)、私の賭けは、SQL Developerを起動し、データベースに接続してから、ツリーコントロールの「テーブル」セクションを開いて、そこでテーブルを探しているということです。その場合は、間違った場所を探しています。SQL Developerでは、「その他のユーザー」を展開し、テーブルを所有するユーザーに移動し、そのユーザーの下にあるツリー コントロールの「テーブル」セクションを開いて2つのテーブルを表示する必要があります。

テーブルに対してクエリを実行しようとしている場合、デフォルトでは、完全修飾テーブル名を指定する必要があります

SELECT *
  FROM owner_of_the_table.table_name

完全修飾テーブル名を使用する必要をなくしたい場合は、テーブルのシノニム (パブリックまたはプライベート) を作成できます。シノニムを作成することは、従来のアプローチです。または、セッション レベルで次のこともできます。

ALTER SESSION SET current_schema = <<owner of the table>>

これにより、現在のユーザーのスキーマではなく、指定されたスキーマを使用して非修飾参照が解決されます。

于 2013-10-31T21:37:49.360 に答える