Précédent   Forum des professionnels en informatique > Bases de données > Autres SGBD
Autres SGBD Vos questions sur les autres SGBD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/05/2005, 11h23   #1
Invité de passage
 
Inscription : janvier 2004
Messages : 3
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 3
Points : 2
Points : 2
Par défaut Ma requète update est elle conforme ?

Bonjour,

Petite question sur la commande "UPDATE".
Le moteur de base de donnée est NexusDB.
Je voudrais mettre à jour le champ "Le-Remplacé" dont le champ conditionnel est "Guide1" (différentes valeur sont disponible) de la table "Table1".
Donc j'utilise le champ conditionnel "Guide2" de la "Table2" pour mettre à jour le champ "Le-Remplacé" de "Table1" par "Le-Remplacent" de "Table2".
Je précise que le champ "Guide1" n'est pas le champ clef de "Table1"
  • Guide1 de Table1
    a |
    a |
    b |
    d |
    c |
    d |

    Guide2 = Le-Remplacent de Table2
    a = 1 |
    b = 2 |
    c = 3 |
    d = 4 |

Voici la requète "UPDATE", quand je vérifie le code grâce au moteur NexusDB celui ci m'indique que le code est valide.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
UPDATE (SELECT *
                         FROM "Table1"
                         WHERE "Bool" = True ORDER BY "Guide1"
             )
          SET "Le-Remplacé" = (SELECT "Le-Remplacent"
                                                      FROM (SELECT *
                                                                           FROM"Table2"
                                                                           ORDER BY "Guide2"
                                                               )
                                           )
      WHERE "Guide1" = (SELECT "Guide2"
                                               FROM "Table2"
                                               ORDER BY "Guide2"
                                   );
A partir du moment ou je lance l'UPDATE le moteur NexusDB m'indique que la syntaxe n'est pas bonne a cause du SELECT après UPDATE.
Pouvez vous aider le Newbiz que je suis.
CBTech est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2005, 11h58   #2
Rédacteur/Modérateur
 
Avatar de fadace
 
Homme Fabien Celaia
Administrateur de base de données
Inscription : octobre 2002
Messages : 3 779
Détails du profil
Informations personnelles :
Nom : Homme Fabien Celaia
Âge : 41
Localisation : Suisse

Informations professionnelles :
Activité : Administrateur de base de données
Secteur : Service public

Informations forums :
Inscription : octobre 2002
Messages : 3 779
Points : 8 124
Points : 8 124
Envoyer un message via ICQ à fadace Envoyer un message via Skype™ à fadace
Pas très clair.


Selon que votre base (que je ne connais pas) accepte l'update SQL2:
Code :
1
2
3
4
UPDATE Table1
SET Le-Remplacé = Le-Remplacent 
FROM  Table2 
WHERE Table2.Guide2 = Table1.Guide1
Sinon il faudra vous contenter d'un lourd

Code :
1
2
UPDATE Table1
SET Le-Remplacé = (SELECT Le-Remplacent FROM Table2 WHERE Table1.Guide1=Table2.Guide2)
fadace est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/05/2005, 21h25   #3
Invité de passage
 
Inscription : janvier 2004
Messages : 3
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 3
Points : 2
Points : 2
Bonsoir Fadace

Avant tout merci pour votre réponse, pour se qui s'agit de la clarté du message.
Je pensé ce message suffisamment détaillé pour être compréhensible, d'après votre réponse se n'est pas le cas.
Pour le reste j'ai changé la commande "UPDATE" par une version plus simple et plus conforme qui ressemble beaucoup à ce que vous m'avez indiqué.
Merci encore, A+.
CBTech est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h42.


 
 
 
 
Partenaires

Hébergement Web