J'ai ces données: J'ai besoin de convertir les données en un curseur o dans d'autres cas en utilisant sur un insert
Ensuite, je le fais: p> existe une alternative à l'Union double à cet effet? P> Merci d'avance! P> P>
3 Réponses :
Vous pouvez utiliser une collection, par exemple: ou pour les versions plus anciennes d'oracle: p>
Est-ce qu'il court? Pour moi, je dois faire comme "Select * à partir de la table (sys.dbms_debug_vc2coll ('g'," h ");" à Oracle 19c
Ah, je suis sur 20c, alors ça slicker!
Sélectionnez * à partir de sys.dbms_debug_vc2coll ('A', 'B', 'B', 'C'); CODE> travaille pour moi en 19.0.0.
@ William Robertson: - Pour moi, je l'exécutais dans l'outil de développeur PL / SQL (13.0.6) Fenêtre SQL et faisait face à des problèmes (exécutant les résultats de la requête dans ORA-03114: non connecté à Oracle, après avoir vu votre commentaire que j'ai essayé Avec l'invite de commande SQL *, cela fonctionne bien et je ne sais pas pourquoi le problème avec l'IDE.
Alternativement, avec beaucoup plus de dactylographie, en supposant que la liste des noms est - réellement - une chaîne em>, vous pouvez le diviser en rangées, puis insérer dans la table. Quelque chose comme ceci: ou, si vous utilisez apex, son
apex_string.split code> fait également le travail: p>
select column_value
from apex_string.split('DJORDAN,ADAVIS,MJONES,DPRESTOM,PSMITH', ',');
Encore une autre solution simple: résultat: p>
Même avec cette approche, vous pouvez utiliser
union tout code> au lieu de
Union code> puisque vous savez que toutes les valeurs sont distinctes.