Bonjour,
J'ai un petit problème concernant un trigger. J'ai plusieurs procédure récupérant des données de type varchar2. Quelques unes de ces données sont en réalité des nombres dont certain possèdent des décimales. Ces données sont formater avec un '.' en séparateur décimale. Naturellement lorsque je tentais d'insérer la donnée dans une colonne de type number, le code pl/sql me retournait une erreur (puisque ma config oracle est basé sur la ',' en séparateur décimale).
Pendant un temps j'ai résolu le problème en alterant la variable "nls_numeric_characters". J'ai même utilisé dans ma procédure la ligne suivante :
Jusque là tout fonctionnait sans problème. Sauf que récemment j'ai du écrire un trigger qui appellait cette procédure et plusieurs autres du même genre. J'ai placé la ligne de code ci dessus au début du trigger. Mais Oracle n'aprécie pas cette ligne et lève donc une erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part DBMS_SESSION.set_nls ('NLS_NUMERIC_CHARACTERS', '''.,''');
Ma question est donc : Existe il une autre manière de changer le séparateur décimale et qui fonctionnerait dans un trigger (et serait valable seulement le temps de ce trigger) ?
Merci d'avance !
Partager