Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 在视图中插入“赋予权限不足”编译包时出错_Oracle_View_Insert_Privileges_Oracle19c - Fatal编程技术网

Oracle 在视图中插入“赋予权限不足”编译包时出错

Oracle 在视图中插入“赋予权限不足”编译包时出错,oracle,view,insert,privileges,oracle19c,Oracle,View,Insert,Privileges,Oracle19c,视图: 包正文中的错误: 行: 插入vw_XYZ 面临的错误: 包体的编译错误 错误:PL/SQL:ORA-01031:权限不足 请注意: 我们只在19c数据库中面对这个问题。在12c数据库版本中,它成功编译无法通过连接视图(包括版本12c)插入内容。谢谢@BarbarosÖzhan。。。但在12c版本中。。。我的包已成功编译。你能详细说明一下吗?不客气。您确定没有像第一个案例那样尝试插入tb_abc吗?顺便说一句,该错误似乎与缺少权限有关。事实上,即使您在当前模式中有该视图,也无法通过它插入。

视图:

包正文中的错误: 行:

插入vw_XYZ 面临的错误: 包体的编译错误

错误:PL/SQL:ORA-01031:权限不足

请注意:
我们只在19c数据库中面对这个问题。在12c数据库版本中,它成功编译

无法通过连接视图(包括版本12c)插入内容。谢谢@BarbarosÖzhan。。。但在12c版本中。。。我的包已成功编译。你能详细说明一下吗?不客气。您确定没有像第一个案例那样尝试插入tb_abc吗?顺便说一句,该错误似乎与缺少权限有关。事实上,即使您在当前模式中有该视图,也无法通过它插入。是的@BarbarosÖzhan,我确信我们在这两个版本中做的事情完全相同,因为我们刚刚导入了从12c版本到19c版本的所有内容。没有人工交互。该视图与包的架构相同。它与权限有关。19c上的用户没有12c上的所有权限。这可能与该数据库中的其他用户有关,例如,如果vw_XYZ归其他人所有,而不是编译该软件包的用户。
CREATE OR REPLACE VIEW vw_XYZ AS
SELECT "TRN_REF_NO","ESN","COMPONENT","AMOUNT","CURRENCY","WAIVER","CHG_DESC"
FROM 
( WITH DATA AS
( SELECT LEVEL L FROM DUAL CONNECT BY LEVEL <= 5 )
  SELECT TRN_REF_NO,1 "ESN",'CHG_AMT_'||L "COMPONENT",
         DECODE(L,1,CHG_AMT,2,CHG_AMT_1,3,CHG_AMT_2,4,CHG_AMT_3,5,CHG_AMT_4) "AMOUNT",
         DECODE(L,1,CHG_CCY,2,CHG_CCY_1,3,CHG_CCY_2,4,CHG_CCY_3,5,CHG_CCY_4) "CURRENCY",
         DECODE(L,1,WAIVER,2,WAIVER1,3,WAIVER2,4,WAIVER3,5,WAIVER4) "WAIVER",
         DECODE(L,1,CHG_DESC,2,CHG_DESC1,3,CHG_DESC2,4,CHG_DESC3,5,CHG_DESC4) "CHG_DESC"
    FROM DATA
    JOIN tb_abc
      ON NVL(DECODE(L,1,CHG_AMT,2,CHG_AMT_1,3,CHG_AMT_2,4,CHG_AMT_3,5,CHG_AMT_4),'-1') <> -1
 ORDER BY TRN_REF_NO );