My Oracle Support Banner

Bulk Updates Fails With ORA-01438 on 19c (Doc ID 2620584.1)

Last updated on JULY 20, 2024

Applies to:

Oracle Database - Enterprise Edition - Version 19.5.0.0.0 and later
Information in this document applies to any platform.

Symptoms

++ Below simple update statement errors. Observing ORA-01438: value larger than specified precision allowed for this column.

UPDATE test1
SET col2= col2 + 1
WHERE col1 IN (SELECT col FROM test2 WHERE col1 = 1391386144 AND col2 >= '31-DEC-9999');

ORA-01438: value larger than specified precision allowed for this column

SQL> desc test1
 Name Null? Type
 ----------------------------------------- -------- ----------------------------
 COL1 NOT NULL NUMBER(10)
 COL2 NOT NULL NUMBER(10)

++ All updatable rows col2 column has value either of 1 or 2 which is within range of NUMBER(10) size.

++ If we break query and update one row at time using plsql block, it works fine.

Changes

 Upgrade to 19c

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Symptoms
Changes
Cause
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.