ORA-06502: PL/SQL: numeric or value error: character string buffer too small [message #289978] |
Thu, 27 December 2007 00:10  |
ora_2007
Messages: 430 Registered: July 2007 Location: Mumbai
|
Senior Member |
|
|
Hi Experts,
Hope i will get a solution.
I created a table with CLOB column.
I want to display 5000 characters through substr.
CREATE TABLE TEST_EXP (id NUMBER,msg CLOB)
DECLARE
MSG CLOB;
BEGIN
MSG:= LPAD('V',25000,'A');
INSERT INTO TEST_EXP VALUES(1,msg);
END;
When i execute the query
select dbms_lob.substr(msg,3000,1) from test_exp;
DBMS_LOB.SUBSTR(MSG,3000,1)
--------------------------------------------------------------------------------
12345678901234567890123456789012345678901234567890123456789012345678901234567890
1234567890123456789012345678901234567890123456789012345678901234567890 123456789
01234567890123456789012345678901234567890123456789012345678901234567890123456789
01234567890123456789012345678901234567890123456789012345678901 23456789012345678
90123456789012345678901234567890123456789012345678901234567890123456789012345678
901234567890123456789012345678901234567890123456789012 3456789012345678901234567
89012345678901234567890123456789012345678901234567890123456789012345678901234567
8901234567890123456789012345678901234567890123 456789012345678901234567890123456
78901234567890123456789012345678901234567890123456789012345678901234567890123456
78901234567890123456789012345678901234 56789012345678901234567890123456789012345
67890123456789012345678901234567890123456789012345678901234567890123456789012345
DBMS_LOB.SUBSTR(MSG,3000,1)
--------------------------------------------------------------------------------
678901234567890123456789012345 6789012345678901234567890123456789012345678901234
56789012345678901234567890123456789012345678901234567890123456789012345678901234
5678901234567890123456 789012345678901234567890123456789012345678901234567890123
45678901234567890123456789012345678901234567890123456789012345678901234567890123
45678901234567 89012345678901234567890123456789012345678901234567890123456789012
34567890123456789012345678901234567890123456789012345678901234567890123456789012
345678 9012345678901234567890123456789012345678901234567890123456789012345678901
234567890123456789012345678901234567890123456789012345678901234567890123456789 0
12345678901234567890123456789012345678901234567890123456789012345678901234567890
1234567890123456789012345678901234567890123456789012345678901234567890 123456789
01234567890123456789012345678901234567890123456789012345678901234567890123456789
DBMS_LOB.SUBSTR(MSG,3000,1)
--------------------------------------------------------------------------------
01234567890123456789012345678901234567890123456789012345678901 23456789012345678
90123456789012345678901234567890123456789012345678901234567890123456789012345678
901234567890123456789012345678901234567890123456789012 3456789012345678901234567
89012345678901234567890123456789012345678901234567890123456789012345678901234567
8901234567890123456789012345678901234567890123 456789012345678901234567890123456
78901234567890123456789012345678901234567890123456789012345678901234567890123456
78901234567890123456789012345678901234 56789012345678901234567890123456789012345
67890123456789012345678901234567890123456789012345678901234567890123456789012345
678901234567890123456789012345 6789012345678901234567890123456789012345678901234
56789012345678901234567890123456789012345678901234567890123456789012345678901234
5678901234567890123456 789012345678901234567890123456789012345678901234567890123
DBMS_LOB.SUBSTR(MSG,3000,1)
--------------------------------------------------------------------------------
45678901234567890123456789012345678901234567890123456789012345678901234567890123
45678901234567 89012345678901234567890123456789012345678901234567890123456789012
34567890123456789012345678901234567890123456789012345678901234567890123456789012
345678 9012345678901234567890123456789012345678901234567890123456789012345678901
2345678901234567890123456789012345678901
It shows me result but when i execute following query it gives me as error.
SQL> select dbms_lob.substr(msg,5000,1) from test_exp;
select dbms_lob.substr(msg,5000,1) from test_exp
*
ERROR at line 1:
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
ORA-06512: at line 1
Please tell me how can i display 5000 characters.
Thanks in advance.
|
|
|
|
Re: ORA-06502: PL/SQL: numeric or value error: character string buffer too small [message #289989 is a reply to message #289981] |
Thu, 27 December 2007 00:53   |
ora_2007
Messages: 430 Registered: July 2007 Location: Mumbai
|
Senior Member |
|
|
Thanks for reply.
I used the same thing before but it gives me only 255 characters display.
SQL> SELECT SUBSTR( msg , 1 , 5000 ) FROM test_exp;
SUBSTR(MSG,1,5000)
--------------------------------------------------------------------------------
12345678901234567890123456789012345678901234567890123456789012345678901234567890
SQL>
Please let me know how can i display it.
Thanks in advance.
|
|
|
|
|
|