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

SQL Oracle Discussion :

ORA Nombre invalide 1722


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Novembre 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2018
    Messages : 2
    Par défaut ORA Nombre invalide 1722
    Bonjour,

    Cela semblait facile mais je suis dessus depuis 3 jours sans trouver de solution.

    Voici la requête : Je tente de mettre à jour une table , en calculant un âge pour chaque personne rencontrée par rapport à l'exercice en cours.

    Ce calcul d'âge est une différence entre deux Année : Année de l'exercice COT.EXERCICE Number 4,0 et La récupération de l'année de la date de naissance de la personne HIST.DATE_NAISSANCE Varchar2 8

    Je teste le cas d'une date de naissance null ou égale à '@' pour forcer un âge à Zéro,
    pour tous les autres cas j'effectue une différence entre Année exercice et la transformation en nombre de la partie année de la date de naissance.

    Age est un Number de 4,0

    Decode (HIST.DATE_NAISSANCE, null, 0, '@', 0,COT.EXERCICE - to_number(substr(HIST.DATE_NAISSANCE,1,4), '9999'))) as AGE.

    Systématiquement j'obtiens ORA 1722 Nombre invalide lorsque j'essaye d'updater ma table
    Par contre un select avec cette requête fonctionne très bien, le calcul est ok.

    Ce n'est que lorsque je tente un Update que tout se plante. Le champ résultat est AGE number 4,0....... je ne vois pas ce qui cloche.....


    Si vous avez une idée ......

    Merci

  2. #2
    Nouveau candidat au Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Novembre 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2018
    Messages : 2
    Par défaut
    Eureka j'ai trouvé !

    Le champ AGE était resté en number 3,0 au lieu du number 4,0 et dans ma base il y avait une année de naissance en 973 donc plus de mille ans d'écart, d'où l'impossibilité de mettre à jour ma table finale.

    Je sais une personne née en 973 cela fait un peu désordre......


    Merci

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

Discussions similaires

  1. ORA 01001 invalid cursor
    Par claralavraie dans le forum Oracle
    Réponses: 10
    Dernier message: 28/07/2006, 15h13
  2. Réponses: 4
    Dernier message: 25/01/2006, 18h25
  3. Réponses: 2
    Dernier message: 28/12/2005, 11h54
  4. ORA-24373 : invalid length specified for statement
    Par fa_say dans le forum Oracle
    Réponses: 2
    Dernier message: 19/11/2005, 14h16
  5. Réponses: 5
    Dernier message: 18/04/2005, 12h38

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