Hi DBAs,
Thanks for the prompt replies.
We have solved it using Java in the stored procedure. We created a java
function which will manipulate the numeric value and return it as string.
This java function is wrapped into a PL/SQL function which returns Varchar2
!.
****************************************************************************
**********************************
Step 1. The JAVA program is as follows
public class functions
{
public static void main(String args[])
{
System.out.println("Double Value :"+ new functions().Funct());
System.out.println("String Value :"+ new functions().FunctStr());
}
public static double Funct()
{
double n = 1;
double t = 1;
double a = 315;
double t1 =0;
while (n <= a)
{
t = (t*a)/n;
t1 = t1 + t;
n = n+1;
}
return t1;
}
public static String FunctStr()
{
return ( "" + ( new functions().Funct() ) + "" );
}
}
Step 2. Then this was loaded in the databse user scott using loadjava.
Step 3. A wrapper was written to create a function which will return a
varchar2.
Create or replace function testjava return varchar2
as
language java name 'functions.FunctStr() return java.lang.String';
Step 4. A pl/sql procedure to call the function and test.
set serverout on size 1000000
declare
ret varchar2(4000) := 'A';
begin
ret := testjava;
dbms_output.put_line(ret);
end;
****************************************************************************
**********************************
Regards,
Arul.
> -----Original Message-----
> From: DENNIS WILLIAMS [SMTP:[EMAIL PROTECTED]]
> Sent: 19 June 2002 15:58
> To: Multiple recipients of list ORACLE-L
> Subject: RE: How to store Value greater than 38 digits ?? Help !!
>
> Shradha - What are you saying?
> 1. You require more than 38 digits of accuracy?
> 2. Your number is larger than 38 digits.
>
> If the problem is the first, wow, you must be into something incredible.
> If the problem is the second, no problem. Data also stores "scale", which
> can be up to 127. That means 10 to the 127th power.
>
> Dennis Williams
> DBA, 20% OCP
> Lifetouch, Inc.
> [EMAIL PROTECTED]
>
>
>
> -----Original Message-----
> Sent: Wednesday, June 19, 2002 9:08 AM
> To: Multiple recipients of list ORACLE-L
>
>
> Hi DBAs,
>
> One of my projects is facing a problem, they are using a numeric datatype
> for a column, in the process part the calulation is leading to a number
> larger than 38 digits.
>
> Therefore they are not getting a result ie procedure is not returning
> anything.
>
> If you have come across such a thing ?...Inputs are welcome
>
> Thanks and regards,
> Shradha
>
--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author:
INET: [EMAIL PROTECTED]
Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051
San Diego, California -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing).