oracle的dba_ segment,显示'dba_segments'错误的Oracle存储过程:表不存在[重复]
这个问题在这里已有答案:我确实尝试在oracle 10g数据库中创建一个存储过程,它从 dba_segments 中选择数据并插入到另一个表(即table_space)中 .CREATE OR REPLACEPROCEDURE P_DAILY_ENTRYISan_job_id number;BEGININSERT INTO table_space(table_name, max_size, dat
这个问题在这里已有答案:
我确实尝试在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 表 .
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)