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 :

[COMPUTED] comment declarer un champ calcule avec un SELECT


Sujet :

SQL Firebird

  1. #1
    Membre actif
    Inscrit en
    Juin 2002
    Messages
    409
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 409
    Points : 234
    Points
    234
    Par défaut [COMPUTED] comment declarer un champ calcule avec un SELECT
    BONJOUR,
    Impossible de creer un champ calcule avec un SELECT qui me fait la somme de plusieurs lignes :
    Pourtant, si je me refere au message de hammou (parceque j'ai cherche !) Posté le: Ven Jan 30, 2004 18:45 Sujet du message: trigger et champ calculé, il ecrit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    champ4 computed =(select champ2 from table1 where table2.champ2=table1.champ2) * champ3
    J'ai essaye avec sa syntaxe (ce qui m'a d'ailleurs etonne car je ne l'avais vu nul part dans les docs) Et ca ne marche pas non plus !
    Mon probleme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    TABLE_A
    CHAMP_A1 DATE NOT NULL
    CHAMP_A2 INTEGER NOT NULL
    TOTMONT COMPUTED BY(SELECT SUM(MONT_DETAIL) FROM TABLE_B WHERE TABLE_B.CHAMP_B1=CHAMP_A1 AND TABLE_B.CHAMP_B2=CHAMP_A2)
    ...
    PRIMARY KEY (CHAMP_A1,CHAMP_A2)
     
    TABLE_B
    CHAMP_B1 DATE NOT NULL
    CHAMP_B2 INTEGER NOT NULL
    CHAMP_B3 INTEGER NOT NULL
    MONT_DETAIL DECIMAL(9,2)
    ...
    PRIMARY KEY (CHAMP_B1,CHAMP_B2,CHAMP_B3)
    Et au moment de creer TABLE_A, IB me renvoie dans les cordes avec le message
    • SQL ERROR CODE = -104
      Tocken unknown line #,char #
      SELECT


    Bien sur j'ai pris soin de creer TABLE_B avant, j'ai essaye en DSQL la commande SELECT... et ca lui va tres bien !
    Comprends pas !

    Si quelqu'un ou quelqu'une pouvait me debloquer, merci d'avance.
    Barbibulle, je comptes sur vous !

  2. #2
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Désolé je n'utilise pas ou tres peu les champs computed.
    Je préfère mettre dans ma table le stricte minimum (les données, contraintes).

    Pour faire ce que vous voulez faire je vais plutot créer une procédure stoquée ou une vue.

    Sinon si vous tennez à avoir une colonne avec le résultat vous avez la solution de la calculée vous même. Dans des triggers par exemple.

  3. #3
    Membre actif
    Inscrit en
    Juin 2002
    Messages
    409
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 409
    Points : 234
    Points
    234
    Par défaut
    OK, merci quand meme barbibulle de vous etes donne la peine de repondre..
    Alors je vais me resigner a coder ca dans un trigger.
    Mais c'est tres frustrant de ne pas savoir si, deja c'est possible et ce qui n'allait pas dans ma syntaxe. Tant pis !

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/04/2015, 16h56
  2. [SQL SERVER 2000] Comment declarer un champ blob?
    Par Fabrice ROUXEL 1 dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/04/2007, 09h54
  3. [VBA] Comment valoriser un champ texte avec une variable ?
    Par Jean_Benoit dans le forum Access
    Réponses: 3
    Dernier message: 25/12/2006, 15h55
  4. champs calculer avec condition dans un etat
    Par scons dans le forum IHM
    Réponses: 2
    Dernier message: 16/12/2006, 19h58
  5. Réponses: 1
    Dernier message: 08/09/2006, 13h26

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