|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre émérite
![]() Développeur informatique Inscription : juin 2004 Messages : 699 ![]() |
Sous Interbase 6, j'essaie de mettre à jour une table depuis une autre, et les méthodes indiquées sur le forum Langage SQL ne marchent pas
Code :
Code :
Est-ce que je commets une erreur, on bien ces syntaxes ne sont pas supportées par Interbase 6 ? Et dans ce cas, que me reste-ti-il comme solution ? Roland |
||||
|
|
00
|
|
|
#2 | ||||||||
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Je pense que vous avez inversé les messages d'erreurs...
Code :
car Code :
Code :
Car la syntax est tout simplement fausse... Code :
Celà va mettre à jour la colonne C2 de la tableA avec la valeur trouvé dans la table TableB si elle existe sinon affecte null. Et ce pour toutes les données C2 de la table tableA. |
||||||||
|
|
00
|
|
|
#3 | ||||||
|
Membre émérite
![]() Développeur informatique Inscription : juin 2004 Messages : 699 ![]() |
Citation:
Citation:
J'élargis ma question : pour mettre à jour plusieurs champs, on m'a proposé une syntaxe qui, corrigée suivant votre modèle, donne : Code :
Encore un grand merci pour votre aide Roland |
||||||
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Frédéric Inscription : octobre 2002 Messages : 1 722 ![]() |
Oui votre requete est bonne, et il n'y a pas syntaxiquement moyen de regroupper les deux sous-select.
Mais celà n'est pas très grave d'un point de vue performance, le premier sous select fait monter en mémoire l'enregistrement et l'index primaire. Le second sous select bénéficiera de cette monté en mémoire et sera donc plus performant que le premier. Donc normalement l'impacte sur les perfs doivent être assez légère. Cependant si vous voulez quelque chose de plus performant vous pouvez créer une procédure stockée qui fera un seul select sur la table TableB pour rammener toutes les colonnes qui ont besoin d'être recopiées dans la table TableA. puis il suffit de faire l'update de la table TableA avec les données mémorisées par le premier select. |
|
|
00
|
|
|
#5 |
|
Membre émérite
![]() Développeur informatique Inscription : juin 2004 Messages : 699 ![]() |
je vais tester les deux.Roland |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com