2012-11-29 59 views
1

我的oracle數據庫有一個用戶(可以說SWEET)。在SWEET模式中,我有一個名爲AUTO_PARTS的表。授予選擇視圖不起作用

現在,我創建了一個新用戶(SWEET_CV)並在SWEET的AUTO_PARTS表上創建了一個視圖。

CREATE SCHEMA AUTHORIZATION SWEET_CV 
    CREATE VIEW SWEET_CV.new_autoparts_view 
     AS SELECT * FROM SWIFT.AUTO_PARTS WHERE PRODUCTNAME = 'ABC' 
    GRANT select ON SWEET_CV.new_autoparts_view TO SWEET; 

最後GRANT語句給了錯誤ORA-01720:GRANT OPTION不存在 'SWEET.AUTO_PARTS'。所以我做了以下。

From SWEET account: 
GRANT SELECT ON AUTO_PARTS TO SWEET_CV *WITH GRANT OPTION* 
And then From SWEET_CV account: 
GRANT SELECT ON SWEET_CV.new_autoparts_view TO SWEET; 

這兩個授予成功,我承諾。

現在,當我登錄到SWEET並查詢'select * from SWEET_CV.new_autoparts_view'時,將返回行。但是,當我查詢'select * from new_autoparts_view'它說表或視圖不存在。你能解釋爲什麼它說,即使我做了GRANT之後不存在。

我要訪問我的甜蜜新模式的看法,而無需參照它作爲newschema(點)視圖名

在此先感謝

回答

3

我要訪問在新架構的觀點我SWEET而不必參考它作爲

您需要在SWEET架構引用視圖中創建一個同義詞:

create synonym sweet.new_autoparts_view for sweet_cv.new_autoparts_view; 
+0

aaaah ..我一直都知道,但它並沒有打動我。完全忘記了同義詞...謝謝 – Jeevan