ORACLE 存储过程中创建了临时表,但是查询该临时表时,编译 提示‘表或者视图不存在’,求高手解答。

ORACLE 存储过程中创建了临时表,但是查询该临时表时,编译 提示‘表或者视图不存在’,求高手解答。,第1张

当然会报这个错误了,编译的时候没有这个对象(select * from PRTLSTDEL_TMP)肯定会出错,编译不成功就不能执行,不能执行这个临时表就创建不了。

怎么会有这么奇葩的需求?

你要把select * from PRTLSTDEL_TMP这里也变成动态的才行

就算改好了成功了, 你的程序也只能执行一次,因为"v_sqlcreate := 'create global temporary table PRTLSTDEL_TMP(" 会报对象已存在

你是意思是UP_DXPT_BB_ZWSR 执行报表或者视图不存在

那你先确认下

select

t.sort_line as VCHID,

t.sort_line as BILLIDS,

t.set_year as set_year,

t.cre_money as CRE_MONEY

from syzw.voucher_detail_budget t where t.as_code like "4%"

and t.set_year=2014

and substr(latest_op_date,1,10) >=to_char((sysdate -interval ''7'' day),''yyyy-mm-dd'')

执行有没有问题

调用的时候是用这个存储过程的owner吗,如果不是,在存储过程头部加上

AUTHID CURRENT_USER 。

如果是动态sql,需要显示的授权

grant select on xxx to xxx


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9966332.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存