|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : décembre 2010 Messages : 190 ![]() |
bonjour à tous,
j'ai quelques difficultés avec l'instruction Merge. je voudrais que la table (Merge Into) sur laquelle je ferais les mises à jour contienne un "Where", car ces mises à jour ne concernent qu'une partie de la table. Merci à vous.
|
|
|
00
|
|
|
#3 | ||
|
Membre du Club
![]() Inscription : décembre 2010 Messages : 190 ![]() |
salut et merci pour le lien.
En fait Waldar a ajouté un "Where" en fin de la requête mais j'avais de besoin de : C'est bon merci, j'ai trouvé. Mais on ne peut pas faire : Code :
|
||
|
|
00
|
|
|
#4 | ||||
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
Citation:
Citation:
|
||||
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Inscription : décembre 2010 Messages : 190 ![]() |
Dans mon besoin, il faut que update la table(col1) quand 'Matched' et update la table(Col2) when not matched.
|
|
|
00
|
|
|
#6 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
Alors il faut faire du PL/SQL, MERGE ne permet pas de faire ça
|
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() Inscription : décembre 2010 Messages : 190 ![]() |
Ok merci.
Je clôture ce post alors.. |
|
|
00
|
|
|
#8 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
Penses à utiliser ROWCOUNT
|
|
|
00
|
|
|
#9 |
|
Membre du Club
![]() Inscription : décembre 2010 Messages : 190 ![]() |
j'utilise ROWCOUNT pour connaitre le nombre de lignes mises à jour après une requête, mais pas pour optimiser...
|
|
|
00
|
|
|
#10 | ||
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
C'est juste plus rapide de faire :
Code :
|
||
|
|
00
|
|
|
#11 |
|
Membre du Club
![]() Inscription : décembre 2010 Messages : 190 ![]() |
Oui, mais mon besoin ici est :
Voir s'il y a une correspondance entre 2 table, ligne par ligne : - Si c'est le cas Update la col1 de la table - Sinon update la col2 de la table. |
|
|
00
|
|
|
#12 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
OK, j'avais pas compris. A ce moment là, il suffit d'utiliser CASE dans une sous-requête de l'UPDATE
|
|
|
00
|
|
|
#13 |
|
Membre du Club
![]() Inscription : décembre 2010 Messages : 190 ![]() |
Le case avec un ?
|
|
|
00
|
|
|
#14 | ||
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
Non :
Code :
|
||
|
|
00
|
|
|
#15 |
|
Membre du Club
![]() Inscription : décembre 2010 Messages : 190 ![]() |
c'est ce que j'ai fait.
En fait mon package fait beaucoup de mises à jour et crée et supprime plus de 30 index dynamiquement !!! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com