IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

Mdifier NLS_NUMERIC_CHARACTERS sur la session


Sujet :

Oracle

  1. #1
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    181
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 181
    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 ?

  2. #2
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alter session set nls_numeric_characters='. ';

  3. #3
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    181
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 181
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into matable values (12 300.52)
    j'ai toujours ce message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORA-00917: virgule absente
    c'est à cause de l'espace compris dans le chiffre . comment faire pour se débarasser de ce message ?

  4. #4
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    INSERT INTO matable VALUES
      (to_number('12 300.52','999G999G999D999999','NLS_NUMERIC_CHARACTERS=''. '''));

  5. #5
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    181
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 181
    Par défaut
    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 ?

  6. #6
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO matable VALUES (12 300.52)
    Tel quelle, la commande ne peux pas fonctionner, quelques soient les paramètres

  7. #7
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    181
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 181
    Par défaut
    Ok
    donc à quoi sert cette commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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?

  8. #8
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    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);

  9. #9
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    181
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 181
    Par défaut
    merci Laurent pour ces précisions
    en gros il n'a pas de solution pour moi

Discussions similaires

  1. Question sur les sessions ?
    Par Wu dans le forum Langage
    Réponses: 7
    Dernier message: 15/02/2006, 15h32
  2. [Sécurité] Question sur les sessions
    Par Seth77 dans le forum Langage
    Réponses: 20
    Dernier message: 25/01/2006, 12h34
  3. Réponses: 6
    Dernier message: 21/06/2005, 15h13
  4. PB Réseau sur les sessions ouvertes ?
    Par nico___23 dans le forum Développement
    Réponses: 1
    Dernier message: 07/01/2005, 09h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo