1 with t as (
2 select 1 cde_id, 'CHANGE_TYPE' cde_idx, 'PP,BUY,MAG,P' cde_key from dual
3 union all
4 select 2,'CHANGE_TYPE','MF,BUY,MAG,P' from dual
5 )
6 select cde_id,cde_idx,
7 regexp_substr(cde_key||',','([^,]+),',1,1,'i',1) f1,
8 regexp_substr(cde_key||',','([^,]+),',1,2,'i',1) f2,
9 regexp_substr(cde_key||',','([^,]+),',1,3,'i',1) f3,
10 regexp_substr(cde_key||',','([^,]+),',1,4,'i',1) f4
11* from t
SQL> /
CDE_ID CDE_IDX F1 F2 F3 F4
---------- ----------- ---------- ---------- ---------- ----------
1 CHANGE_TYPE PP BUY MAG P
2 CHANGE_TYPE MF BUY MAG P