J'essaie de faire un transfert groupé dans une base de données SQL Server. Le fichier source a des doublons que je veux supprimer, donc j'espérais que l'opération téléchargerait automatiquement le premier, puis rejeter le reste. (J'ai défini une contrainte de clé unique). Le problème est le moment où un téléchargement en double est tenté, le tout échoue et est annulé. Est-ce que je peux juste dire à SQL de continuer?SQL Import ignorer les doublons
Répondre
Essayez de gros insérer les données à la table temporaire, puis SELECT DISTINCT comme @madcolor suggéré ou
INSERT INTO yourTable
SELECT * FROM #tempTable tt
WHERE NOT EXISTS (SELECT 1 FROM youTable yt WHERE yt.id = tt.id)
ou tout autre domaine dans la clause WHERE.
Si vous utilisez un outil SQL tel que SQL Plus ou DBVis ou Toad, je ne le soupçonne pas. Si vous le faites par programmation dans une langue, vous devez diviser et conquérir. Il est probable que l'exécution d'une mise à jour ligne par ligne et l'interception de chaque exception soit un processus trop long. Vous pouvez donc effectuer une opération par lots sur tout le bloc SQL et, en cas d'échec, le faire sur la première moitié. Faites-le sur la première moitié de la première moitié. Itérer de cette façon jusqu'à ce que vous ayez un bloc qui réussit. Rejeter le bloc et faire la même procédure sur le reste du SQL. Tout ce qui viole une contrainte finira par devenir une seule instruction SQL que vous savez enregistrer et rejeter. Cela devrait importer avec autant de traitement en bloc que possible tout en jetant les lignes invalides.
Utilisez SSIS pour cela. Vous pouvez lui dire d'ignorer les doublons. Mais assurez-vous d'abord qu'ils sont de vrais doublons. Que faire si les données dans certaines colonnes sont différentes, comment savez-vous quel est le meilleur dossier à conserver?
- 1. Comment éviter les doublons?
- 2. Comment puis-je contraindre plusieurs colonnes pour éviter les doublons, mais ignorer les valeurs nulles?
- 3. SQL Recherche de doublons possibles
- 4. Requête SQL - Supprimer les doublons si plus de 3 tours?
- 5. Expression SQL pour supprimer les doublons d'un calcul
- 6. Sql Server Ignorer les erreurs de mise à jour
- 7. Ignorer les conflits de clé primaire avec la copie SQL
- 8. Ignorer les espaces blancs
- 9. MS Access interop - Data Import
- 10. ignorer les messages dans l'objectif C
- 11. Worldship Batch Import
- 12. mysql import csv problème
- 13. iPhone #import ApplicationServices?
- 14. Comparer fichier et supprimer les doublons
- 15. Comment éviter les doublons dans une énumération?
- 16. traiter les doublons dans un bst
- 17. Lucene AddIndexes (fusionner) - comment éviter les doublons?
- 18. Eclipse C++ dll import
- 19. Ignorer les avertissements en permanence
- 20. comment ignorer les définitions (VS2008)
- 21. Faire PHPUnit ignorer les choses?
- 22. XSD DataSets et ignorer les clés étrangères
- 23. LINQ to SQL Prenez w/o Ignorer les multiples causes des instructions SQL
- 24. Comment obtenir le code T-SQL pour trouver des doublons?
- 25. idiome Rails pour éviter les doublons dans has_many: par
- 26. groupement Xsl doublons problème
- 27. VB.Net (ou C#) 2008 Multi Thread Import
- 28. Suppression de doublons
- 29. Modifier l'agrégat "liste" postgresql pour supprimer les doublons
- 30. Trier par nom, mais ignorer les citations?
peut-être afficher un peu de code, pourrait simplement être sélectionner distinct. – madcolor
@madcolor: les doublons sont sur 'insert', pas sur' select'. – voyager
@voyager - Il insère à partir d'un fichier source qui a des doublons. Je crois que @MadColor suggère de recréer le fichier source pour éliminer les doublons en utilisant la syntaxe select select. – klabranche