ホーム › フォーラム › A5:SQL Mk-2掲示板 › SELECT文で表を取り出せない
- このトピックには3件の返信、1人の参加者があり、最後にBrandonFoellにより3年、 2ヶ月前に更新されました。
-
投稿者投稿
-
情報弱者ゲスト
初めての書き込み失礼いたします。
oracleデータベース’PDB1’という名前のPDB内にある’TEST’という表領域内に作成したテーブルを、SQL-MK2でSELECT文を実行していずれかの表を取り出したいのですが、実行すると『ORA-00942: 表またはビューが存在しません』のエラーが出てしまいます。
実行しようとしているselect文は下記のような文です。select *
from DEPARTMENTS;SQL-MK2で’TEST’内にテーブルがあることは下記select文で確認済み、コマンドプロンプトで同じようにSELECT文を実行すると’TEST’内のテーブルは取り出せるので、SQL-MK2で実行するときのやり方がおかしいのでしょうか。
‘TEST’内テーブル確認select文
select * from DBA_TABLES where tablespace_name = ‘TEST’;
結果
TABLE_NAME
DEPARTMENTS
EMPLOYEES
SALGRADES
CUSTOMERS
PRODUCTS
ORDERS
ORD_DETAILS
(TABLE_NAME以外の項目は省略)ちなみにSQL-MK2とコマンドプロンプトでSELECT文を実行するときの違いは
〇SQL-MK2 ・・・データベースの接続はユーザーID’system’でアクセス
〇コマンドプロンプト ・・・データベースの接続はユーザーID’sys’でアクセス
です。大変お手数をおかけしますが、なにかご教示いただけますと幸いです。
長々と失礼しました。情報弱者ゲスト連投失礼します。
SQL-MK2で’TEST’のテーブルを表示させたときに表のOWNER欄が『SYS』だったのでPDBにローカルユーザー’TEST’を作成し、OWNERがローカルユーザー’TEST’になるようにテーブルを作り直してSQL-MK2も’TEST’ユーザーでPDBに接続してSELECT文実行しました。
DEPARTMENTS表は呼び出すことはできてカラムも表示されたのですが、挿入したはずの行が表示されずNULL1行だけ表示されました。ほかの表はエラーORA-00942が出て表示もされませんでした。
コマンドプロンプトで’TEST’ユーザーでPDBに接続してSELECT文を実行するとちゃんと表は表示されます。松原正和キーマスター情報弱者さんこんにちは。
1件目の現象はスキーマが違ってしまったのだろうなと予想はついたのですが、2件目の現象はよく分かりません。
挿入されているはずのデータはちゃんとコミットされたデータということですよね?(すみません、念のためです。)
あとは、SQLエディタで “select * from TEST.TABLE_NAME” のようにスキーマ付きで実行してデータが取得できるかとか、A5:SQL Mk-2側から挿入したデータが、SQL*Plusから取得できるかなど試してみると何かわかるかもしれません。情報弱者ゲスト松原様
返信ありがとうございます。
ご指摘あった通りコミットされていなかったようなので、コマンドプロンプトで表作成とデータ挿入をやり直しとコミットを実行したらSQL-MK2でSELECTによる表取り出しができるようになりました。
ご教示誠にありがとうございました。
-
投稿者投稿