Hello,
Comment préparer un fichier .sql à éxécuter dans SQL*Plus (Oracle 10g) pour pouvoir injecter de grandes quantités de texte dans un champ au format CLOB.
Après une recherche laborieuse il apparait que je dois employer les bind variables, ce qui fonctionne à peut près sauf dans le cas ou je cherche a conserver les retours à la ligne intact... Autrement dit, lorsque je veut faire ça :
var var_xml CLOB
exec :var_xml := '<xml><field>Value</field></xml>'
INSERT INTO table (id, xml) VALUES (1,:var_xml)
tout fonctionne, mais si je cherche à faire ça :
var var_xml CLOB
exec :var_xml := '<xml>
<field>Value</field>
</xml>'
INSERT INTO table (id, xml) VALUES (1,:var_xml)
L'interpréteur quinte et dit qu'il ne reconnait pas la commande <field... blablabla
Remplacer les retours à la ligne par des \n ne solutionne pas mon problème car il peut arriver que cela produise des lignes plus longues que le maximum autorisé (de l'ordre de 3200 car sauf erreur)
HELLLLLLP !!!!! je dois migrer une petite applic de PHP/SQLite vers Java/Oracle et ce souci, que je n'avais pas anticipé, me prend grave la tête.
D'avance merci aux Gurus Oracle.
Partager