linux下存储过程报错,PL/SQL窗口可执行,而存储过程内执行就报错

最近测试部遇到环境的问题,在我们开发这边开发,运行好的程序,到了测试部那里死活运行不过。应他们dba要求,过去检查。程序段如下:

我用vsql变量将执行的动态sql打印查看如下:

insert into tb_bil_acct_his_562

(acct_id,

acct_name,

acct_nbr_97,

cust_id,

pay_method,

branch_id,

bank_acct,

addr_id,

crt_date,

eff_date,

exp_date,

mod_date,

eff_state,

latn_id,

addr_desc,

post_code,

mailing_flag,

bank_acct_name,

post_target_addr,

empee_id,

exch_id,

month_id,

serv_id,

OPER_TYPE_ID,

ACTION_DATE,

ACTION_TYPE,

HIS_ID,

HAND_FLAG)

select a.acct_id,

a.acct_name,

a.acct_nbr_97,

a.cust_id,

a.pay_method,

a.branch_id,

a.bank_acct,

a.addr_id,

a.crt_date,

a.eff_date,

a.exp_date,

a.mod_date,

a.eff_state,

a.latn_id,

a.addr_desc,

a.post_code,

a.mailing_flag,

a.bank_acct_name,

a.post_target_addr,

a.empee_id,

a.exch_id,

a.month_id,

a.serv_id,

28,

sysdate,

1,

seq_bil_acct_his_hisid_566.nextval,

0

from tb_bil_acct_566 a

where a.acct_id = 5021006 and a.serv_id is null

该段sql在单独的sql窗口可以顺利执行,但存储过程一执行就报ora-00942 table or view doesn't exist

开始纳闷了很久,后来查资料得知如果用户有dba角色,角色里包含的权限在存储过程里不会被继承;所以又单独对tb_bil_acct_566 ,seq_bil_acct_his_hisid_566.nextval等作了显式赋权,问题得以解决。

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值