oracle 庫中有表 但是查詢顯示錶不存在
阿新 • • 發佈:2021-01-13
以 sys 或 system 或者其他具有 dba 許可權(能夠查詢系統資料字典檢視)的使用者登入資料庫,執行下面的查詢:
select owner from dba_tables where table_name='表名';
如果和你當前登入使用者不同則需要在你的查詢語句的表名前帶上使用者名稱;
select 欄位 from 使用者名稱.表名;
如果不想每次都這麼麻煩, 則需要設定同義詞(synonym),設定後 直接查詢表名即可,同樣需要;
語法 :
CREATE [OR REPLACE] [PUBLIC] SYNONYM [ schema.] 同義詞名稱 FOR [ schema.] object [ @dblink ];
同時 建立同義詞的使用者需要相關許可權;
首先,用sys賬號給DM賬號賦予CREATE SYNONYM的許可權
GRANT CREATE SYNONYM TO 使用者名稱;
然後建立同義詞即可
例:
-- Create the synonym
create or replace synonym tableA
for user_res.tableA;
注意 oracle 一般是不區分大小寫的,所以表名在資料字典檢視中一般是大寫字母表示的.