我的名为color_code
的表格如下:
color_id color_name
--------- ----------
101 (red,blue,green)
102 (cyan,magenta)
103 (white,deep,light,yellow)
104 (null)
但我的数据应采用以下格式,并且此结果数据应插入color_insert
表
这应该是我的输出:
color_id color_name
--------- ------------
101 red
101 blue
101 green
102 cyan
102 magenta
103 white
103 deep
103 light
103 yellow
104
我试过这个,但对我的逻辑不满意。能帮到我吗
DECLARE
BEGIN
FOR i IN 1..4
LOOP
INSERT INTO color_insert
SELECT color_id,
TRIM(REGEXP_SUBSTR(color_name, '[^,]+', 1, i)) color_name
FROM color_test
CONNECT BY REGEXP_SUBSTR(color_id, '[^,]+', 1, level) IS NOT NULL
ORDER BY color_id;
END LOOP;
END;