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

HyperFileSQL Discussion :

Select dans un update


Sujet :

HyperFileSQL

  1. #1
    Membre actif
    Homme Profil pro
    Développeur WEB - Admin Réseaux
    Inscrit en
    Décembre 2004
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : Développeur WEB - Admin Réseaux
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2004
    Messages : 153
    Points : 286
    Points
    286
    Par défaut Select dans un update
    Bonjour,

    je rencontre un souci lorsque je veux faire un mise à jour de donnée (update) d'une table A à partir de donnée d'une table B.

    En fait j'ai l’erreur suivante :
    Erreur renvoyée par le serveur <192.168.2.129:4900> :
    Erreur dans le code SQL de la requête <QueryWithoutName1>. Initialisation de la requête impossible.
    Mot select inattendu
    Voici ma requête :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    UPDATE ENTETE_DEVIS ENT
    SET ENT.Montant_HT = (select sum(LIG1.Total_HT)
    				from LIGNE_DEVIS LIG1
    				where LIG1.IDENTETE_DEVIS = ENT.IDENTETE_DEVIS),
    ENT.Montant_TTC = (select sum(LIG2.Total_TTC)
    				from LIGNE_DEVIS LIG2
    				where LIG2.IDENTETE_DEVIS = ENT.IDENTETE_DEVIS)
    where ENT.IDENTETE_DEVIS = 43

    Au vue du message d'erreur je présume que HFSQL n'est pas capable de traiter ce genre de requête. Ce qui est dommage...

    Du coup connaitriez-vous une autre façon de faire?
    Car vu ce que je cherche à faire je pense que je vais être oblige de faire un select, ramener mes données puis faire un update avec les données ramenées.
    Ce qui oblige à faire deux accès à la base.

    Merci d'avance pour votre aide.
    Bon dev!

  2. #2
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mali

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2009
    Messages : 73
    Points : 160
    Points
    160
    Par défaut Seconde possibilité
    Salut,

    je ne connais pas réellement les normes de HyperFile SQL

    Mais essaie celle-ci voir
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    UPDATE ENTETE_DEVIS ENT
    SET
      (
        ENT.Montant_HT,
        ENT.Montant_TTC
      )
      =
      (SELECT SUM(LIG1.Total_HT),
        SUM(LIG1.Total_TTC)
      FROM LIGNE_DEVIS LIG1
      WHERE LIG1.IDENTETE_DEVIS = ENT.IDENTETE_DEVIS
      )
    WHERE ENT.IDENTETE_DEVIS = 43;

  3. #3
    Membre actif
    Homme Profil pro
    Développeur WEB - Admin Réseaux
    Inscrit en
    Décembre 2004
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : Développeur WEB - Admin Réseaux
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2004
    Messages : 153
    Points : 286
    Points
    286
    Par défaut
    Bonjour,

    c'est pareil cela remonte une erreur:

    Erreur dans le code SQL de la requête <>. Initialisation de la requête impossible.
    Mot ( inattendu
    je pense que HFSQL n'aime pas trop les select imbriqué dans les update.

    Merci quand même.

  4. #4
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 075
    Points : 2 441
    Points
    2 441
    Par défaut
    Bonsoir

    Voir nouveauté 179 de la version 20...
    Or, vous êtes en 19 donc cela n'ira effectivement pas.

    Hemgé

  5. #5
    Membre actif
    Homme Profil pro
    Développeur WEB - Admin Réseaux
    Inscrit en
    Décembre 2004
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : Développeur WEB - Admin Réseaux
    Secteur : Distribution

    Informations forums :
    Inscription : Décembre 2004
    Messages : 153
    Points : 286
    Points
    286
    Par défaut
    Bonjour,

    j'ai la version 19 et la 20.
    la requête que je fait est sur HFSQL en version 20.

    Ou alors je me trompe dans la requête mais je ne voit pas où.

    Nom : Capture.JPG
Affichages : 750
Taille : 30,6 Ko

Discussions similaires

  1. utilisation d'un select dans un update ou insert.
    Par Rafter dans le forum Développement
    Réponses: 6
    Dernier message: 21/07/2014, 14h28
  2. [MySQL] Select dans un Update
    Par Nympheasi dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 31/07/2009, 01h55
  3. [MySQL] un select dans un update
    Par Yoshio dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 18/09/2006, 20h07
  4. Recupérer la valeur d'un select imbriqué dans un update
    Par miniil dans le forum Langage SQL
    Réponses: 3
    Dernier message: 07/07/2006, 11h49
  5. Inclure un SELECT dans une requète Update
    Par carolinebelle dans le forum Langage SQL
    Réponses: 2
    Dernier message: 19/07/2005, 15h19

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