2011-10-22 156 views
0

emp表存在cis605,我想爲用戶分配權限。任何想法,我做錯了什麼?允許用戶從表中選擇

SQL> grant select on emp to user; 

    Grant succeeded. 

    SQL> connect user 
    Enter password: 
    Connected. 
    SQL> select * from emp; 
    select * from emp 
        * 
    ERROR at line 1: 
    ORA-00942: table or view does not exist 

我自己也嘗試做不同的

 SQL> connect cis605 
    Enter password: 
    Connected. 
    SQL> grant select on system.emp to chap7; 
    grant select on system.emp to chap7 
          * 
    ERROR at line 1: 
    ORA-00942: table or view does not exist 

繼承人我應該使用

SQL被聲明> SELECT * FROM cis605.emp;

+0

可能重複[我想爲用戶分配權限以查看EMP表](http://stackoverflow.com/questions/7857005/i-要對分配的權限換一個用戶觀看的最EMP-表) –

回答

2

在第一種情況下,它不工作,因爲你需要:。

  1. 參考表的名稱,包括它在架構即

    SELECT * FROM schema.EMP;

OR
2.爲了創建一個[公用]同義詞能夠「看到」表不包括在每一個SQL語句的模式。


在第二種情況下,您嘗試引用模式,但得到錯誤的模式。 EMP表通常在SCOTT模式中找到,而不是SYSTEM。雖然你的情況,也許你需要做的:

grant select on cis605.emp to chap7; 

另外,有一個名爲「用戶」的用戶是一個壞主意 - 這是一個Oracle關鍵字。 (雖然我猜這可能只是爲了舉例的目的)

相關問題