Update d'une table avec un with as
Bonjour,
J'ai une table_X avec une colonne normes dont les données sont comme ceci:
ID NORMES
1 5w40;10w40;10w50;5w30
Dans un premier temps j'ai essayé une requête qui sépare cette chêne de caractère en gardant le même ID, la requête est la suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| with t as (
select '1' as ID, '5W40;10W40;10W50;5W30' as NORMES
from DUAL --(TABLE_X)
)
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
ORDER BY NORMES; |
La requête me ressort ce que je souhaite, c'est à dire :
ID NORMES
1 5w40
1 10w40
1 10w50
1 5w30
J'ai crée une table_Y avec une colonne NORMES , j'aimerai récupérer les données de la colonne NORMES de la table_X à travers ma requête WITH AS. Cependant je ne sais pas du tout ou placer mon "UPDATE" dans cette requête.
Merci d'avance pour vos réponses :)