how can i insert and read numeric value larger than 1000 digits into blob column in oracle
BLOBs are just bytes - so you can write as many bytes of raw data as you like, eg
SQL> create table t ( b blob );
Table created.
SQL>
SQL> declare
2 digits raw(1000) := hextoraw(rpad('FF',1000,'FF'));
3
4 l_blob blob;
5 begin
6 insert into t values ( empty_blob())
7 returning b into l_blob;
8
9 dbms_lob.writeappend(l_blob,length(digits)/2,digits);
10 dbms_lob.writeappend(l_blob,length(digits)/2,digits);
11 dbms_lob.writeappend(l_blob,length(digits)/2,digits);
12 dbms_lob.writeappend(l_blob,length(digits)/2,digits);
13 end;
14 /
PL/SQL procedure successfully completed.
SQL>
SQL> select dbms_lob.getlength(b) from t;
DBMS_LOB.GETLENGTH(B)
---------------------
2000