存储过程如下:
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请各帮忙看看,多谢了
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请各帮忙看看,多谢了
CREATE OR REPLACE PROCEDURE aa_read_clob(
l_amount in out number,
l_offset in number,
l_readbuf out varchar2) IS
l_locator CLOB;
BEGIN
SELECT COL_CLOB INTO l_locator FROM hhc.hhc_clob WHERE IDX = 1;
DBMS_LOB.READ(l_locator,l_amount,l_offset,l_readbuf);
commit;
END;
但是也不指导该怎么去调用这个存储过程:(
小弟初学,我分不多了,在线等待,
怎么还没有人回答啊,
请各位高人多多指点啊
你执行的存储过程与你提供的不是一个啊,是不是字符串连接你用+号了 应该用||
这个是名字贴错了:!
我这里没有用到字符串连接的啊,我也不会跟踪调试什么的,请再帮我看看吧
我的MSN: [email protected] 16小时在线等!
在oracle命令行中调用带参数的存储过程时,参数不能直接用数值代入,而是要先declare这些输入输出变量,然后在begin...end中给输入变量赋值和调用存储过程,在调用时输入参数的值只能用刚声名的变量来代替,不可直接用值来代入,不知说清楚了没有呵呵