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