plsql中关于一张表中一条记录某个字段进行分割处理后插入到另一张表中多条数据的写法

2025-03-27 11:30:29
推荐回答(1个)
回答(1):

帮你写了一个拆分的function
CREATE OR REPLACE FUNCTION f_convert(p_list IN VARCHAR2)
RETURN test_type
AS
l_string VARCHAR2(32767) := p_list || ',';
l_comma_index PLS_INTEGER;
l_index PLS_INTEGER := 1;
l_tab test_type := test_type();
BEGIN
LOOP
l_comma_index := INSTR(l_string, ',', l_index);
EXIT WHEN l_comma_index = 0;
l_tab.EXTEND;
l_tab(l_tab.COUNT) := SUBSTR(l_string, l_index, l_comma_index - l_index);
l_index := l_comma_index + 1;
END LOOP;
RETURN l_tab;
END f_convert;
/