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 : Sélectionner tout - Visualiser dans une fenêtre à part
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![]()
Partager