Oracle:表或视图不存在

问题描述 投票:0回答:1

我正在尝试使用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;
oracle ddl
1个回答
3
投票

它是权限,或者更确切地说是它们被授予的方式。 MGR用户有权查询来自角色的基础表。 Oracle不允许我们使用角色的特权来构建视图或过程。这就是安全模型的工作方式。

解决方案是要求表所有者MIS_PERMAL(或高级用户,如DBA)将MV_INDEX_PERFORMAMCE的SELECT权限直接授予MGR。

© www.soinside.com 2019 - 2024. All rights reserved.