失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > oracle dba segments oracle - Oracle存储过程显示“ dba_segments”错误:表不存在 - 堆栈内存溢出...

oracle dba segments oracle - Oracle存储过程显示“ dba_segments”错误:表不存在 - 堆栈内存溢出...

时间:2023-06-17 04:34:37

相关推荐

oracle dba segments oracle - Oracle存储过程显示“ dba_segments”错误:表不存在 - 堆栈内存溢出...

我曾尝试创建Oracle 10g数据库的存储过程,即选择从数据dba_segments并插入到另一个表(即table_space)。

CREATE OR REPLACE

PROCEDURE P_DAILY_ENTRY

IS

an_job_id number;

BEGIN

INSERT INTO table_space(table_name, max_size, date_of_max_size)

SELECT table_name,

TRUNC(SUM(bytes)/1024) max_size,

sysdate date_of_max_size

FROM

(

SELECT segment_name table_name, owner, bytes

FROM dba_segments

WHERE segment_type = 'TABLE'

UNION ALL

SELECT segment_name table_name, owner, bytes

FROM dba_segments

WHERE segment_type = 'INDEX'

)

WHERE owner IN ('CARAT')

GROUP BY table_name, owner

ORDER BY SUM(bytes) DESC;

EXCEPTION WHEN OTHERS THEN

ROLLBACK;

END P_DAILY_ENTRY;

我在上面运行时发出以下两个错误:

05行| 执行| PL / SQL:忽略了SQL语句

第12行| 执行| PL / SQL:ORA00942:表或视图不存在

但是,如果分别执行INSERT语句,它将填充table_space表。

如果觉得《oracle dba segments oracle - Oracle存储过程显示“ dba_segments”错误:表不存在 - 堆栈内存溢出...》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。