ORA-08103 对象不再存在错误(临时表)
统计中使用临时表,把相关数据insert到临时表中,在通过游标返回。
编译、执行存储过程都没有问题,查看结果rs_cur时报ORA-08103 对象不再存在错误;
通过网路查找:
on commit delete rows 和on commit preserve rows的区别
文档讲此二者皆用于temporary table,
delete rows用于事务相关,也就在事务结束后truncate data in the temporary table.
preserve rows表示在会话结束后清除临时表的数据
前者在事务提交后数据就已经清除了.
后者在会话中止时或者导常退出时数据都会被清除掉.
故修改临时表的定义:
create global temporary table dlsys.tcTempStat(
ID INTEGER,
Name VARCHAR2(100),
NormalNum INTEGER,
OfflineNum INTEGER,
RightProfit NUMBER
) on commit delete rows ;
---修改成如下-->
create global temporary table dlsys.tcTempStat(
ID INTEGER,
Name VARCHAR2(100),
NormalNum INTEGER,
OfflineNum INTEGER,
RightProfit NUMBER
) on commit preserve rows ;
最后问题得解。
本文作者:网友 来源:网络
CIO之家 www.ciozj.com 微信公众号:imciow