|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Inscrit
Inscription : mai 2004 Messages : 832 ![]() |
Bonjour a tous
j'ai besoin d'utiliser pour effectuer des mises a jour entre deux bases. Mon problème est que je veut comprendre comment ça marche. pas trop a l'aise avec l'anglais ![]() Pour le moment voila ce que je pense comprendre : Code :
Si un des champs (champ1 ou champ2) est différents de l'ancien enregistrement, on a un UPDATE du champ concerné. Si les deux champs (champ1 et champ2) sont differents de l'ancien enregistrement, on un INSERT. Es vrai ? Ensuite j'ai le cas suivant : Code :
A quoi sert la clause MATCHING Merci pour vos éclaircissements |
||||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Olivier DehorterIngenieur de recherche - Ecologue Inscription : juin 2003 Messages : 917 ![]() |
Le MATCHING est là pour indiquer les colonnes qui vont déterminer si c'est le UPDATE qui doit être utiliser ou le INSERT
Ex (je dis bien exemple) Tu utilises les colonnes NOM et PRENOM comme MATCHING. Ainsi si la donnée existe déjà avec ce nom ET prénom, l'UPDATE sera utilisé sinon il ajoute cette personne. ATTENTION, il faut que la donnée NOM, PRENOM soit unique (imagines 2 homonyme, sur quelle personne doit porter l'UPDATE -d'où mon préambule sur "c'est un exemple")
|
|
|
00
|
|
|
#3 |
|
Inscrit
Inscription : mai 2004 Messages : 832 ![]() |
Excuse moi mais es a dire que ma première réflexion est correcte ?
Si c'est le cas sans en l'absence de la clause MATCHING il va utiliser la clé primaire de la table ? (c'est ce que j'ai cru comprendre dans la doc en anglais) merci |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Olivier DehorterIngenieur de recherche - Ecologue Inscription : juin 2003 Messages : 917 ![]() |
Non pas forcement.
Si tu as un numéro d'ordre (auto-incrémenté) donc rarement connu, il ne peux te servir pour MATCHER la donnée, mais il faut que la ligne issue du MATCHING soit unique. Le mieux étant qu'il existe une contrainte d'unicité pour cette colonne ou cet ensemble de colonne. j'espère être clair ? |
|
|
00
|
|
|
#5 |
|
Inscrit
Inscription : mai 2004 Messages : 832 ![]() |
ok la je pense avoir compris merci
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com