OVH Cloud OVH Cloud

IGNORE_DUP_KEY???

2 réponses
Avatar
frédo
Je ne parviens pas =E0 comprendre la diff=E9rence entre un=20
index cr=E9=E9 avec la clause IGNORE_DUP_KEY et un index cr=E9=E9=20
sans.

quelqu'un peut t'il m'expliquer plus clairement que dans=20
l'aide en ligne?

merci

2 réponses

Avatar
Med Bouchenafa [MVP]
Lorsque tu crées un index UNIQUE, SQL/Server n'autorise pas à insérer une valeur qui existe déjà
dans l'index
Supposant une table avec nom et prénom.
Supposant aussi que tu crées sur cette table un index UNIQUE sur la colonne nom
Maintenant si tu essaies d'insérer une ligne avec un nom qui existe déjà dans la table, SQL/Server
refuse l'insertion.
Si tu essaies d'insérer plusieurs lignes d'un seul coup comme dans le cas d'un BCP par exemple et si
l'une des lignes essayait d'insérer un doublon alors toutes les lignes sont annulées. Ce qui peut
être dommage, surtout si l'on vient d'insérer des millions de lignes et que l'on soit obliger de
tout recommencer par la faite d'une seule ligne. Pour éviter cela, on peut créer un index UNIQUE en
spécifiant l'option IGNORE_DUP_KEY.
Dans ce cas, les lignes bonnes sont insérées et la ligne avec doublon est rejetée

j'espère avoir été clair

--
Salutations
Med Bouchenafa
TETRASET
75015 Paris

"frédo" a écrit dans le message de news:
307601c3e19a$5e9e4630$
Je ne parviens pas à comprendre la différence entre un
index créé avec la clause IGNORE_DUP_KEY et un index créé
sans.

quelqu'un peut t'il m'expliquer plus clairement que dans
l'aide en ligne?

merci
Avatar
c'est en effet plus clair

merci

-----Message d'origine-----
Lorsque tu crées un index UNIQUE, SQL/Server n'autorise


pas à insérer une valeur qui existe déjà
dans l'index
Supposant une table avec nom et prénom.
Supposant aussi que tu crées sur cette table un index


UNIQUE sur la colonne nom
Maintenant si tu essaies d'insérer une ligne avec un nom


qui existe déjà dans la table, SQL/Server
refuse l'insertion.
Si tu essaies d'insérer plusieurs lignes d'un seul coup


comme dans le cas d'un BCP par exemple et si
l'une des lignes essayait d'insérer un doublon alors


toutes les lignes sont annulées. Ce qui peut
être dommage, surtout si l'on vient d'insérer des


millions de lignes et que l'on soit obliger de
tout recommencer par la faite d'une seule ligne. Pour


éviter cela, on peut créer un index UNIQUE en
spécifiant l'option IGNORE_DUP_KEY.
Dans ce cas, les lignes bonnes sont insérées et la ligne


avec doublon est rejetée

j'espère avoir été clair

--
Salutations
Med Bouchenafa
TETRASET
75015 Paris

"frédo" a écrit


dans le message de news:
307601c3e19a$5e9e4630$
Je ne parviens pas à comprendre la différence entre un
index créé avec la clause IGNORE_DUP_KEY et un index créé
sans.

quelqu'un peut t'il m'expliquer plus clairement que dans
l'aide en ligne?

merci


.