问题描述:今天在调用一条select语句时,对一个函数同时进行了多次调用,前面几次函数调用正常,后面的函数调用就出现了异常,返回的是异常结果。
问题寻找:把单次调用该函数的语句放在上述select之前语句正常,放在之后也是异常结果,判断多次调用可能对函数产生了影响。观察该函数后,发现有一条dbms_output.put_line(v_sql)语句,对其进行注释,上述语句正常运行。
问题解决:该条打印语句可能在多次输出后,使得打印区负载,从而产生异常?这是我的猜想。查找资料后发现DBMS输出的缓冲区大小有限制,这次是10000,所以结果就是打印超出了缓冲区的限制,从而产生异常。总结下来,这其实也只是一个小问题。