|
我把过程贴上来,有一个地方不知怎么改好, CREATE OR REPLACE PROCEDURE SUP.SP_split(p_list clob, p_sep VARCHAR2)
IS
--l_idx PLS_INTEGER;
l_idx SIMPLE_INTEGER := 0;
v_list clob := p_list;
--REPLACE(p_list, ' ', '');
BEGIN
EXECUTE IMMEDIATE 'truncate table ttt';
LOOP
l_idx := dbms_lob.INSTR(v_list, p_sep);
if l_idx > 0 THEN
INSERT INTO ttt (t) VALUES (SUBSTR(v_list, 1, l_idx - 1));
v_list := substr(v_list, l_idx + LENGTH(p_sep)); -- 超过32767时如何办
else
INSERT INTO ttt (t) VALUES (substr(v_list,1,30));
EXIT;
end if;
END LOOP;
commit;
END SP_split;
/
|
|