Je voudrais savoir où insérer un update dans une clause WITH AS? (enfin si c'est possible)
Je voudrais faire un update de ma colonne NORMES car à la base les données de cette colonne sont comme ceci :
ID NORMES
1 5w40;10w40;5w30;10w30
Je souhaiterai que toutes les données soit comme celà à travers la requête que j'ai réalisé , d'ou mon besoin de rajouter un update (à travers ma requête je test un exemple, comme cette exemple fonctionne je voudrais faire un update complet sur ma colonne normes):
ID NORMES
1 5w40
1 10w40
1 5w30
1 10w30
with t as (
select '1' as ID, '5W40;10W40;10W50;5W30' as NORMES from DUAL
)
select t.ID, x.column_value as NORMES
from t
cross join table(
cast(multiset(
select substr( ';'||NORMES||';',
instr( ';'||NORMES||';', ';', 1, rownum )+1,
instr( ';'||NORMES||';', ';', 1, rownum+1 )
-instr( ';'||NORMES||';', ';', 1, rownum )-1
)
from dual
connect by level <= length(NORMES)-length(replace(NORMES,';',''))+1
) as sys.odcivarchar2list )
) x