0

このクエリを実行して、ユーザー Scott が PL/SQL Developer で使用できるテーブルを確認すると、テーブル EMP を含む 11 個のテーブルが取得されます。

Select Table_Name
From All_Tables
Where Owner = 'SCOTT';

しかし、PL/SQL Developerでテーブルempにアクセスしようとすると、すべて次のように選択されます:

select * from emp;

0ra-00942 テーブルまたはビューが存在しないというエラーが表示されます。ただし、同じスキーマ内の SQL*PLUS では、同じ select ステートメントでテーブル emp の内容が表示されます。PL/SQL Developer でこのエラーが発生する原因は何ですか?

4

1 に答える 1

2

PL/SQL Developerを使用している場合、データベースへの接続にどのユーザーを使用していますか? SCOTT 以外のユーザーを使用していると仮定すると、おそらく完全修飾名を使用する必要があります。

SELECT *
  FROM scott.emp

使用しているスキーマでシノニムを作成することもできます

CREATE SYNONYM emp
   FOR scott.emp

次に、クエリで同義語を使用します

-- This resolves to the private synonym that you just created
SELECT *
  FROM emp
于 2013-04-07T20:14:31.980 に答える