可能存储过程中用到了的一些表中记录发生了改变,或用的系统时间不同导致的?
 ORARichard(没钱的日子......) 说的不错,把你的功能细化,把一个业务模块作为一个包
可以把每个功能写成一个函数或存储过程然后放到包里,以后维护也方便!

解决方案 »

  1.   

    1、运行过程中,产生好多表。如EPC...、SMP...、TEMP...等等,应该是临时表吧?它是如何产生的,删除可否?如何管理它,是否占用空间?
     运行过程中产生的应该是临时表,这种表你没有必要去管它,当然在程序运行完后你可以删除2、 ORARichard(没钱的日子......) 说的对,你应该把你存储过程的内容细化!!
      

  2.   

    1.
    oracle 中的临时表其实并不是在使用时才创建的,需要有一个好的规划提前建立。一般使用create global temporary table 语句进行创建的,其中的数据有两种处理形式:1,on commit delete,就是说每当用户进行提交时都要清空临时表;2,on commit persive,(好象拼错了),就是说在用户进行提交时临时表中的数据并不进行删除,而是在用户断开连接时进行数据的删除。2.
    我没有与到过这样的问题,应该不是数据库的问题,是不是你的存储过程效率太低没法相应了,或者数据库已经断开,但是保存成文件应该没问题吧?学习
      

  3.   

    Oracle现在可以使用 CREATE GLOBAL TEMPORARY TABLE命令来实现建立临时表结构。这样的表它的数据只在用户会话期间存在,当会话完成后就自动清除。对于临时表,可以用DROP TABLE来删除其结构。