[英]Oracle : Table or view doesn't exist
我正在嘗試使用Toad在Oracle中創建視圖,並且獲取錯誤表或視圖不存在。
但是,當我自己運行查詢時,它會成功執行。 可能的原因是什么?
CREATE OR REPLACE FORCE VIEW MGR.V_INDEX_PERFORMANCE
(
INDEX_ID ,
INDEX_NAME,
MTD,
YTD
)
BEQUEATH DEFINER
AS
SELECT "INDEX_ID" ,
"INDEX_NAME",
"MTD",
"YTD" from MIS_PERMAL.MV_INDEX_PERFORMANCE
where INDEX_ID in (1045, 2005) AND FIELD_CODE = 'TR' AND CCY_CODE IN ('D', 'USD') order by INDEX_ID, price_date desc;
這是權限,或者更確切地說,是授予權限的方式。 MGR用戶具有查詢來自角色的基礎表的特權。 Oracle不允許我們使用角色的特權來構建視圖或過程。 這就是安全模型的工作方式。
解決方案是要求表所有者MIS_PERMAL(或高級用戶,例如DBA)將MV_INDEX_PERFORMAMCE的SELECT特權直接授予MGR。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.