1
我正嘗試在Oracle 9i中執行此語句。然而,看起來結果集是空的,儘管J非常確定有許多列的名稱爲ID。從cols中選擇column_name雖然列存在,但不返回任何內容
select * from cols where column_name like '%ID%';
此外,以下語句返回一個空的結果集。
select * from cols;
請問是否可能是由於用戶權限?
謝謝!
我正嘗試在Oracle 9i中執行此語句。然而,看起來結果集是空的,儘管J非常確定有許多列的名稱爲ID。從cols中選擇column_name雖然列存在,但不返回任何內容
select * from cols where column_name like '%ID%';
此外,以下語句返回一個空的結果集。
select * from cols;
請問是否可能是由於用戶權限?
謝謝!
的Oracle Reference說COLS的:
"COLS is a synonym for USER_TAB_COLUMNS."
這表明一個簡單的回答你的難題:你是通過該公司擁有無表(或視圖)的用戶連接到數據庫。請更改您的用戶或嘗試從ALL_TAB_COLUMNS中選擇(顯示您擁有特權的所有表格/視圖的結果)。
嗨APC,謝謝你的回答! – 2011-05-26 06:49:05
我認爲在你發佈一個成員之前的某個地方提到過,這也可能會受到Oracle 8i以後版本中稱爲虛擬專用數據庫的功能的影響,但是我認爲該帖已被刪除,APC會對你有何評論這個?請。 :) – 2011-05-26 06:50:55
@ChinBoon - 虛擬專用數據庫(AKA細粒度訪問控制)是通過定義應用於所有DML語句的附加過濾器來不可見地限制對數據行(以及10gR2之後的列)的訪問的機制。查看DBMS_RLS瞭解更多信息。我認爲這與您的情況無關,因爲VPD不會應用於數據字典。 – APC 2011-05-26 10:24:53