Bonjour,
Je dois mettre à jour une table (oecpt) à partir d'une autre table temporaire (imp_od).
La table imp_od contient 2 colonnes (champ1, compte) et la table oecpt contient aussi 2 colonnes (numoecpt, regoecpt).
Dans la table oecpt, il y a certaines lignes à mettre à jour, mais pas toutes. Ces lignes sont celles représentées par la table imp_od.
Autrement dit, la table imp_od contient les nouvelles valeurs des lignes de la table oecpt.
champ1 correspond au numoecpt (le numéro de la ligne ou clé primaire).
compte correspond à la nouvelle valeur de regoecpt.
Donc, je dois modifier les valeurs de reoecpt par compte, en sachant que seules les lignes dont le numoecpt possède un compte seront mises à jour.
J'ai écrit le code suivant :
Cela donne un message d'erreur disant que la sous-requête de SET regoecpt = (select compte from imp_od where numoecpt=champ1) ne doit retourner qu'une seule valeur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 UPDATE oecpt SET regoecpt = (select compte from imp_od where numoecpt=champ1) WHERE numoecpt IN (select champ1 from imp_od);
Pourriez-vous, s'il vous plaît, m'aider ?
Partager