ORA-06502: PL/SQL: 数字或值错误,应该不是缓冲区的问题,请帮忙看看,万分感谢...
存储过程如下:
CREATE OR REPLACE PROCEDURE dtk_read_clob
(
-- l_amount in out number,
l_offset in number
)
IS
l_locator CLOB default empty_clob();
l_readbuf varchar2(2000);
l_amount number(6);
BEGIN
SELECT COL_CLOB INTO l_locator FROM hhc.hhc_clob WHERE IND = 1;
DBMS_LOB.READ(l_locator,l_amount,l_offset,l_readbuf);
commit;
END;
调用执行如下:
SQL> exec aa_read_clob(1);
BEGIN aa_read_clob(1); END;
*
ERROR 位于第 1 行:
ORA-06502: PL/SQL: 数字或值错误
ORA-06512: 在 "SYS.DBMS_LOB ", line 715
ORA-06512: 在 "SYS.AA_READ_CLOB ", line 13
ORA-06512: 在line 1
请各帮忙看看,多谢了
------解决方案--------------------你执行的存储过程与你提供的不是一个啊,是不是字符串连接你用+号了 应该用||