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 :

Calcul dans un triggers : problème du +


Sujet :

Oracle

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 165
    Points : 98
    Points
    98
    Par défaut Calcul dans un triggers : problème du +
    salut

    voici un calcul réalisé dans un triggers:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cumul_mois := (1-TRUNC(sysdate, 'month'))+ (12-TRUNC(v_message.date_facture, 'month'));
    et voici l'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PLS-00306: numéro ou types d'arguments erronés dans appel à '+'

  2. #2
    Membre expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Points : 3 199
    Points
    3 199
    Par défaut
    SQL> select TRUNC(sysdate, 'month') from dual;

    TRUNC(SY
    --------
    01/01/05
    donc, 1-trunc(sysdate...) revient à faire 1-une date ??? :

    Vous souhaitez faire quoi ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2003
    Messages : 75
    Points : 63
    Points
    63
    Par défaut
    Es tu sur des fonctions que tu utilise?

    Si tu veux faire 1 - numero du mois de la date du jour, je crois que tu aurais plus simple a faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1 - TO_NUMBER(TO_CHAR(Sysdate, 'MM'))

    [EDIT] et donc la totalité de ta ligne là
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cumul_mois := (1 - TO_NUMBER(TO_CHAR(Sysdate, 'MM'))) + (12 - TO_NUMBER(TO_CHAR(v_message.date_facture, 'MM')))
    Enfin je pense que c ca que tu voulais, non?

    [RE-EDIT] Visiblement oui
    Une faible lueur de bougie lutte dehors devant ma porte et réchauffe ma petite étincelle de vie.

  4. #4
    Membre régulier
    Inscrit en
    Octobre 2004
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 165
    Points : 98
    Points
    98
    Par défaut
    merci les gars
    c sympa

    La solution c :

    TO_NUMBER(TO_CHAR(Sysdate, 'MM'))

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

Discussions similaires

  1. Problèmes de calcul dans une requete imbriquée
    Par LeNovice dans le forum Langage SQL
    Réponses: 6
    Dernier message: 21/03/2007, 16h56
  2. Problème dans un trigger
    Par hpavavar dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 03/03/2007, 19h34
  3. Problème graphique & calcul dans champ
    Par jacquesprogram dans le forum Access
    Réponses: 1
    Dernier message: 08/09/2006, 15h09
  4. Réponses: 4
    Dernier message: 01/05/2006, 22h53
  5. problème de calcul dans un formulaire
    Par Bray02 dans le forum IHM
    Réponses: 1
    Dernier message: 07/12/2005, 11h45

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