Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.misc -> Re: EXECUTE IMMEDIATE rounds up results
ar123456_at_gmail.com schrieb:
> On Mar 3, 12:25 pm, DA Morgan <damor..._at_psoug.org> wrote:
>> ar123..._at_gmail.com wrote: >>> 1. I have a very simple stored procedure >>> PROCEDURE test_proc( >>> invValue IN NUMBER, >>> outValue OUT NUMBER) >>> IS >>> ... >>> 2. It works OK when called from another procedure. >>> 3. However when called as dynmic sql, it rounds returned value to 2 >>> decimals >>> ... >>> v_sql := 'BEGIN test_proc(:inValue, :outValue); END;' >>> EXECUTE IMMEDIATE v_sql, using v_inValue, out v_outValue; >>> v_outValue is always rounded to two decimal values, e.g. if real >>> value is 187, it will be 190, if the real value is 123456, it will be >>> 120000. >>> It is Oracle 9i and I could not find any information on the >>> topic?????? >>> Tnanks, >> Post a working example that demonstrates the issue. >> -- >> Daniel A. Morgan >> University of Washington >> damor..._at_x.washington.edu >> (replace x with u to respond) >> Puget Sound Oracle Users Groupwww.psoug.org
Can't reproduce ( just a shout in the dark - are you using sqlplus for your tests?)
SQL> declare x number;
2 begin
3 test_number(77, sysdate, x); 4 dbms_output.put_line(x); 5 6 test_number(101, sysdate, x); 7 dbms_output.put_line(x); 8 9 test_number(109, sysdate, x); 10 dbms_output.put_line(x);
PL/SQL procedure successfully completed.
Best regards
Maxim Received on Sat Mar 03 2007 - 14:17:10 CST