【问题记录】ORA-31603 对象 ““ 属于类型 , 在方案 ““ 中未找到,存储过程procedure执行报错

文章目录

问题:

ORA-31603: 对象 “V_RST_UTC01390” 属于类型 VIEW, 在方案 “RISKCONFIG_BAK” 中未找到 ORA-06512: 在 “SYS.DBMS_METADATA”, line 5805 ORA-06512: 在 “SYS.DBMS_METADATA”, line 8344 ORA-06512: 在 line 1)

翻遍全网没找到解决方法

而且单独在小窗执行不报错

但是在存储过程procudure执行报错

解决方法

在 Oracle 存储过程中,可以使用 AUTHID 指定存储过程的执行者权限上下文。当使用 AUTHID CURRENT_USER 时,存储过程将以当前用户的权限上下文执行,而不是存储过程的所有者的权限上下文。

要在存储过程中使用 AUTHID CURRENT_USER,按照以下步骤进行:

sql
CREATE OR REPLACE PROCEDURE your_procedure_name
AUTHID CURRENT_USER
AS
BEGIN
  -- 存储过程的逻辑
END;
/

例如原来是

create or replace procedure xxxx(i_busi_date   in char,
                                                             o_return_msg  out varchar2,
                                                             o_return_code out integer)
  is

修改为

create or replace procedure xxxx(i_busi_date   in char,
                                                             o_return_msg  out varchar2,
                                                             o_return_code out integer)
  AUTHID CURRENT_USER as
  • 10
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值