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 Firebird Discussion :

Champ à nom composé par programme


Sujet :

SQL Firebird

  1. #1
    Membre confirmé
    Avatar de JP.NUAGE
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    769
    Détails du profil
    Informations personnelles :
    Âge : 81
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 769
    Points : 542
    Points
    542
    Par défaut Champ à nom composé par programme
    Bonjour à tous
    Je pense que je dois expliquer le titre. Je travaille en Firebird 2.1. Dans une table j'ai des champs "indicés" :
    MOIS01, MOIS02, MOIS03, ....
    faut pas être grand sorcier pour deviner que 01, 02, 03... sont les mois de l'année.
    En fonction de la date, je veux remplir, dans une procédure ou un trigger, le champ correspondant au mois, mais sans être obligé de faire toute une bardée de if, par exemple quelque chose comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    xMois = 'MOIS' + /* ici le calcul du mois en fonction de la date*/;
    UPDATE MABASE SET &xMOIS = :MAVALEUR WHERE ....
    Bien sûr ce code est faux. Mais existe-t-il une solution ?
    Merci d'avance
    Ce qui se conçoit bien s'énonce clairement
    Et les mots pour le dire viennent aisément (Boileau)

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 037
    Points : 40 941
    Points
    40 941
    Billets dans le blog
    62
    Par défaut
    Bonjour , cherches dans les EXCUTE STATEMENT et tu auras la réponse je pense à quelque chose de ce genre .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    xMois='MOIS'||EXTRACT(MONTH FROM UNEDATE);
    stmt='UPDATE MABASE SET '||xMOIS ||'= '||:MAVALEUR'||  WHERE ....';
    EXECUTE STATEMENT stmt;
    Attention aux espaces dans Stmt qui doit être un SQL Correct , attention aussi aux chaines caractères , ne pas oublier les '
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

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

Discussions similaires

  1. [WD18] Champ table chargé par programmation
    Par plambert123 dans le forum WinDev
    Réponses: 4
    Dernier message: 18/12/2013, 18h08
  2. Changer la source d'un champ page interne par programmation
    Par CHARLI BONGO dans le forum WebDev
    Réponses: 1
    Dernier message: 24/07/2012, 14h44
  3. [WD17] associer un champs à un onglet par programmation
    Par cassandra dans le forum WinDev
    Réponses: 22
    Dernier message: 18/06/2012, 08h56
  4. [WD15] création de champs de saisie par programmation
    Par stefano dans le forum WinDev
    Réponses: 2
    Dernier message: 17/02/2012, 22h44
  5. comment ajouter un champ au table par programme delphi
    Par mechatikhaled dans le forum Débuter
    Réponses: 2
    Dernier message: 22/12/2008, 08h55

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