Découper un champ à l'insertion
Bonjour,
Je suis débutant en PL/SQL, et j'aimerai faire la chose suivante :
Lors de l'insertion ou la modification d'une entrée dans une table, je voudrais que l'une des informations soit découpée suivant un séparateur ("/"), et que les différentes parties récupérées soient affectées dans d'autres champs.
Exemple :
Parmi les champs insérés, LIBELLE contient "DIR/SSDIR/SERVICE"
=> à répartir sur les champs PARTIE_1, PARTIE_2 et PARTIE_3
Pour l'instant, mes essais se sont orientés de la sorte :
- Création d'une procédure stockée, qui se charge de la mise à jour de l'entrée (paramètres : ID, LIBELLE)
- Appel de la procédure sur un Trigger d'ajout ou de modification de ma table
Je n'arrive pas à grand chose pour le moment, mes questions sont donc :
- Est-ce que le mécanisme que je tente de mettre en place est le bon ?
- Si oui, ne faudrait-il déclencher la procédure que sur la modification du champ LIBELLE (alors qu'il est déclenché sur la ligne entière) pour éviter que ça se morde la queue ?
- Comment découper une chaîne selon un séparateur (Pour le moment, j'insère des valeurs bidons pour déjà faire marcher le principe général) ? Le nombre de parties peut être variable (de 2 à ...)
Merci pour vos conseils