1.场景描述
原始数据如下:
task_id | section_code | user_no |
---|---|---|
asd21123 | A0AH101 | VD200149;KK000300;KKC00022 |
qewqeqwd | A0AH102 | KKC00022 |
qwe12314 | A0AH103 | VD200149;KK000300 |
qwefada4 | A0AH104 | VA330011;VB500242;FFB00132;FF100152;FF100342 |
qweasd13 | A0AH105 | VA330011;VB500242;FFB00132;FF100152;FF100342;VD200149;KK000300;KKC00022 |
我们经常会有需求将user_no字段中的数据字符串按分号分割开来,使数据便于计算,如第一条数据分割成如下数据:
task_id | section_code | user_no |
---|---|---|
asd21123 | A0AH101 | VD200149 |
asd21123 | A0AH101 | KK000300 |
asd21123 | A0AH101 | KKC00022 |
这里我们的方法是利用游标逐条遍历每一条数据,查看每条数据中user_no字符串中有几个分号就循环几次,逐条将分隔开的数据插入到目标表中。
2.代码实现
declare
v_task_id varchar2(255);
v_section_code varchar2(255)