Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/09/2007, 10h40   #1
Membre habitué
 
Inscription : août 2006
Messages : 181
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 181
Points : 128
Points : 128
Par défaut Mdifier NLS_NUMERIC_CHARACTERS sur la session

salut à tous,

sur la version je voudrais changer le valeur du paramètre sur la session je veux que les séparateur de groupe soit le caractère espace.
sachant qu'en consutant la valeur de session de ce paramètre avec TOAD rubrique NLS_PARAMETERS j'ai trouvé la valeur suivante :".,"
je suppose que cela veux dire que le separateur décimal est "."

Comment faire ?
Oraman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2007, 11h12   #2
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 927
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Finance

Informations forums :
Inscription : décembre 2005
Messages : 2 927
Points : 4 549
Points : 4 549
Code :
ALTER session SET nls_numeric_characters='. ';
__________________
Mon blog : laurentschneider.com
Mon livre : Advanced Oracle SQL Programming
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2007, 11h43   #3
Membre habitué
 
Inscription : août 2006
Messages : 181
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 181
Points : 128
Points : 128
Merci pour Laurent pour ta réponse,
ce que je veux obtenir c'est lorsque je fait cet insert je n'obtient pas d'erreur
supposons que j'ai une table avec une seule colonne de type Number(20,4)
Code :
INSERT INTO matable VALUES (12 300.52)
j'ai toujours ce message d'erreur :
Code :
ORA-00917: virgule absente
c'est à cause de l'espace compris dans le chiffre . comment faire pour se débarasser de ce message ?
Oraman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2007, 11h56   #4
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 927
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Finance

Informations forums :
Inscription : décembre 2005
Messages : 2 927
Points : 4 549
Points : 4 549
Code :
1
2
INSERT INTO matable VALUES
  (to_number('12 300.52','999G999G999D999999','NLS_NUMERIC_CHARACTERS=''. '''));
__________________
Mon blog : laurentschneider.com
Mon livre : Advanced Oracle SQL Programming
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2007, 12h16   #5
Membre habitué
 
Inscription : août 2006
Messages : 181
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 181
Points : 128
Points : 128
Encore Merci Laurent,
mon soucis que ces insert là avec ce format de chiffre sont faites par une application dont je n'ai pas le code source
donc malheureusement pour moi je peux pas utilisé la solution que tu viens de me proposer et qui marche super bien .
je doit plutôt trouver une solution de paramètrage de la base.
as tu une autre piste sans toucher au insert ?
Oraman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2007, 14h17   #6
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 927
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Finance

Informations forums :
Inscription : décembre 2005
Messages : 2 927
Points : 4 549
Points : 4 549
Code :
INSERT INTO matable VALUES (12 300.52)
Tel quelle, la commande ne peux pas fonctionner, quelques soient les paramètres
__________________
Mon blog : laurentschneider.com
Mon livre : Advanced Oracle SQL Programming
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2007, 14h40   #7
Membre habitué
 
Inscription : août 2006
Messages : 181
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 181
Points : 128
Points : 128
Ok
donc à quoi sert cette commande :
Code :
ALTER session SET nls_numeric_characters='. ';
quel est le rôle du caractère espace en tant que caractère de grouppement s'il ne le prend pas en considèration dans les insertavec des nombres formatés?
Oraman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2007, 14h51   #8
Expert Confirmé Sénior


 
Avatar de laurentschneider
 
Homme Laurent Schneider
Administrateur de base de données
Inscription : décembre 2005
Messages : 2 927
Détails du profil
Informations personnelles :
Nom : Homme Laurent Schneider
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Finance

Informations forums :
Inscription : décembre 2005
Messages : 2 927
Points : 4 549
Points : 4 549
c'est pour définir le séparateur de groupe lorsque tu employes le format '999G999G999D999'.

Mais ça ne te permettra pas de faire insert into t values (1 234);
__________________
Mon blog : laurentschneider.com
Mon livre : Advanced Oracle SQL Programming
laurentschneider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2007, 15h21   #9
Membre habitué
 
Inscription : août 2006
Messages : 181
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 181
Points : 128
Points : 128
merci Laurent pour ces précisions
en gros il n'a pas de solution pour moi
Oraman est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h39.


 
 
 
 
Partenaires

Hébergement Web