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

Langage SQL Discussion :

Probleme UPDATE resultat trop long


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2004
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Probleme UPDATE resultat trop long
    Bonjour a tous !!!

    Alors, je fais un update sur un champs de type NUMBER (16)

    et je veux ke le resultat de la MAJ soit le champ divisé par 6.55957
    (Ca sent le passage a l'euro...Mieux vo tard ke jamais)

    Je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    update MA_TABLE
    set MON_CHAMPS = MON_CHAMPS /6.55957
    A prioris la commande est bonne, le probleme c kil me sort
    unresultat plus long ke la taille specifiée lors de la creation
    de la table, donc la MAJ est impossible...

    Comment faut il faire pour forcer a ne garder que 16 caracteres apres le resultat de la division (virgule comprise) ????

    Merci pour votre aide

    Balises de code rajoutées par Superstivix
    Pensez y à l'avenir

  2. #2
    Membre confirmé
    Avatar de Higgins
    Inscrit en
    Juillet 2002
    Messages
    520
    Détails du profil
    Informations forums :
    Inscription : Juillet 2002
    Messages : 520
    Points : 543
    Points
    543
    Par défaut
    Avec les balises
    code
    /Code

    ce serait plus clair.

    Je ne suis pas sur que Number(16) soit un type standard. Il vaudrait mieux poster sur le forum correspondant à ton SGBDR
    Peut-être comme çà:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    update MA_TABLE
    set MON_CHAMPS = ROUND(MON_CHAMPS /6.55957 ,16)
    si 16 désigne le nombre de décimales

  3. #3
    Membre habitué Avatar de nantais
    Inscrit en
    Juillet 2004
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 158
    Points : 192
    Points
    192
    Par défaut
    Tu peux biaiser pour obtenir 16 caractères :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    champ_nouv=to_number(substr(to_char(champ_ancien/6.55957),1,16))
    C'est très moyen au niveau lisibilité mais tu récupère bien un nombre contenant au max 16 caractère, y compris virgule

  4. #4
    Candidat au Club
    Inscrit en
    Septembre 2004
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    desolé pour le balises de code, je ne suis pas habitué
    des forums.

    Premierement je corrige c pas un NUMBER mais un VARCHAR2,
    la reflexion sur "Je ne suis pas sur que Number(16) soit un type standard"
    Ma fait reflechir et efectivement, tte mes excuses

    Pour info le SGBDR est Oracle 8.1.7

    Je teste ca et je vous tiendrai au courant.

    Merci

  5. #5
    Candidat au Club
    Inscrit en
    Septembre 2004
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Hello ca fait longtemps...

    Alors, c bon le probleme est regle, j'ai fait la requete suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    update MA_TABLE
    set MON_CHAMPS = round((MON_CHAMPS/6.55957),2)
    Tout marche bien, au final je ne garde que 2 chiffres apres la virgule.

    Merci pour votre aide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/03/2014, 18h24
  2. [SQL-Server] Probleme script: nom de base trop long
    Par AlternantOracle dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 27/05/2010, 16h45
  3. UPDATE fait planter mysql, trop long
    Par EnRadeSurEclipse dans le forum Requêtes
    Réponses: 5
    Dernier message: 05/02/2010, 23h49
  4. Probleme UPDATE resultat d'un select
    Par battit64 dans le forum PL/SQL
    Réponses: 1
    Dernier message: 25/08/2009, 14h10
  5. probleme timeout rmi trop long
    Par esalagea dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 03/06/2008, 16h50

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