问题:一本程序先登录oracle临时表(临时表被设计为,delete rows on commit),然后利用临时表的数据进行各种错误。
运行正常,一次程序修改,再登录完oracle临时表之后,加入一段truncate 一个表(非程序登录的临时表)的数据,之后再启动程序运行不正常了。
解决: Truncate 表数据的操作是不需要commit的一个自动提交的操作。所以truncate完表,造成临时数据被删除,后续没有临时表的数据造成运行正常。
解决办法 truncate表的操作提到了登录临时表的前面处理。
※truncate表之外其他自动提交的操作同样会造成同样的问题。