سلام
امکان دارد به خاطر محدودیت های پیش فرض در بافر نسخه های مختلف اوراکل هنگام اجرای stored procedure یا پکیج DBMS_OUTPUT با خطای زیر مواجه بشوید :
> ORA-20000: ORU-10027: buffer overflow, limit of 20000 bytes ORA-06512: at "SYS.DBMS_OUTPUT", line 32 ORA-06512: at "SYS.DBMS_OUTPUT", line 97 ORA-06512: at "SYS.DBMS_OUTPUT", line 112 ORA-06512: at line 488
همان طور که در متن خطا مشخص هست buffer overflow رخ داده است برای حل این مشکل می توانید بافر پیش فرض را با دستورات زیر تغییر دهید و سپس کوئری خود را اجرا کنید.
dbms_output.enable(30000);
می توانید از null هم استفاده کنید:
dbms_output.enable(null);
پ ن: بهتر است قبل از اجرای کوئری بافر را تغییر دهید.
DECLARE v_ret VARCHAR2 ( 30000 ); BEGIN dbms_output.enable(null); DBMS_OUTPUT.PUT_LINE('071291537501:'||Sell.FN_TopRangeSellingh(14010310,8566231458936)); END;
بعد اجرای کوئری به همراه تغییر دستی بافر مشکل رفع شده و خروجی بدون خطا نمایش داده می شود.