| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
|  |  | |||
Home -> Community -> Usenet -> c.d.o.server -> Re: puzzled by ora-01438
On Fri, 5 Mar 2004 19:54:10 +0100, "Michel Cadot"
<micadot{at}altern{dot}org> wrote:
>
>"Ed Stevens" <nospam_at_noway.nohow> a écrit dans le message de
>news:kmfh40tj2o2i2redknef1focghtf1ebif8_at_4ax.com...
>> Oracle 8.1.7.4 on Win2k
>>
>> In trying to introduce a little more real-world-ness to some testnig
>> I'm doing (see thread "need ideas for proof test") and am having a bit
>> of trouble with generating a random number to use as a column value.
>>
>> Here's the first part of the table def:
>>
>> CREATE TABLE .EDS_TEST_KEY_FIRST
>> (
>>     SUPL_KEY    NUMBER(3)   NOT NULL,
>>     CLM_KEY     CHAR(8)   NOT NULL,
>>     LIAB_AMT    NUMBER(9,2) NOT NULL,
>> <snip>
>>
>> And here's the code I'm using to load it:
>>
>> truncate table .EDS_TEST_KEY_FIRST;
>>
>> BEGIN
>>    DBMS_RANDOM.INITIALIZE (12345);
>>
>>    FOR i IN 1..5000
>>    LOOP
>>
>>      INSERT INTO PUR003.EDS_TEST_KEY_FIRST
>>      VALUES
>>        (i,
>> substr(to_char(dbms_random.random),1,8),
>> 1234567.12,
>> <snip>
>>
>> If I set the loop for 500, everything works as planned.  But when I
>> bump it to 5000, I get this:
>>
>> BEGIN
>> *
>> ERROR at line 1:
>> ORA-01438: value larger than specified precision allows for this
>> column
>> ORA-06512: at line 7
>>
>
>5000 can't be inserted in a number(3).
>See first value of your insert.
>
>Regards
>Michel Cadot
>
Thanks, Michel.  That was it.  I was simply too close to the problem
to see it.  
Received on Fri Mar 05 2004 - 15:57:56 CST
|  |  |