我确实尝试在oracle 10g数据库中创建一个存储过程,该过程从另一个表中选择数据dba_segments
并插入到另一个表(即 table_space)中。
创建或替换 程序 P_DAILY_ENTRY 是 an_job_id 编号; 开始 插入表空间(表名,最大尺寸,日期最大尺寸) 选择表名, TRUNC(SUM(字节)/1024) 最大尺寸, sysdate date_of_max_size 从 ( 选择段名表名,所有者,字节 FROM dba_segments WHERE segment_type = 'TABLE' 联合所有 选择段名表名,所有者,字节 FROM dba_segments WHERE segment_type = '索引' ) 所有者在哪里(“克拉”) GROUP BY 表名,所有者 ORDER BY SUM(bytes) DESC; 其他情况除外 回滚; 结束 P_DAILY_ENTRY;
当我运行上面它显示以下两个错误:
- 第 05 行 | 执行 | PL/SQL:忽略 SQL 语句
- 第 12 行 | 执行 | PL/SQL: ORA00942: 表或视图不存在
但是,如果INSERT
单独执行语句,它会填充table_space表。