λογισμικό

* Γνώση Υπολογιστών >> λογισμικό >> λογισμικού βάσεων δεδομένων

Πώς να διαγράψει τα διπλά SQL

διαχειριστές βάσεων δεδομένων γνωρίζουμε ότι συμβαίνουν περιστασιακά λάθη και οι διπλές εγγραφές εισάγονται στη βάση δεδομένων . Το θέμα είναι ένα κοινό πρόβλημα για τους διαχειριστές να καθοριστεί, αλλά η διαγραφή αρχείων από ένα διακομιστή SQL είναι μια ευαίσθητη κατάσταση . Ο διαχειριστής έχει τη δουλειά της διαγραφής αρχείων χωρίς λάθος απομάκρυνση τυχόν άλλα στοιχεία , τα οποία μπορεί να συμβεί εύκολα, αν το ερώτημα δεν είναι οικοδομήσουμε σωστά . Μάθετε πώς μπορείτε να διαγράψετε τις διπλότυπες εγγραφές σε SQL , διατηρώντας τα αρχικά αρχεία . Τα πράγματα που θα χρειαστείτε για Microsoft SQL Server ( 2005 ή 2008)
Η Εμφάνιση Περισσότερες οδηγίες
Η 1

Open Enterprise Manager για τον SQL Server. Θα πρέπει να εκτελέσετε ερωτήματα για να ελέγξετε για το διπλό περιεχόμενο . Θα σας δώσει μια ιδέα για το πώς πρέπει να διαγραφούν πολλά αρχεία . Μεγάλα ερωτήματα μπορεί να σας ζητήσει να μειωθεί το διακομιστή SQL για συντήρηση 2

Τύπος στην κονσόλα : . Επιλέξτε μετράνε ( * ) από TheTableandselect διακριτές * από TheTableThe 1η εντολή σας λέει πόσα αρχεία που έχετε στον πίνακα , και η 2η εντολή σας λέει πόσα αντίγραφα έχετε . Ωστόσο , η 2η εντολή προϋποθέτει ότι τα αρχεία είναι εντελώς το ίδιο , δηλαδή κάθε μικρή διακύμανση , δεν θα πρέπει να περιλαμβάνονται στον πίνακα διπλούν .
Εικόνων 3

Μεταφορά εγγραφών σε έναν ξεχωριστό πίνακα . Τα ακόλουθα αντίτυπα εντολή μόνο τα αρχεία που είναι διακριτές και αφήνει έξω κάθε duplicates.select διακριτές * σε TempTablefrom TheTable
Η 4

Διαγραφή διπλότυπων . Το ακόλουθο ερώτημα διαγραφής διαγράφει όλα τα διπλότυπα από τον αρχικό πίνακα , αλλά διατηρεί 1 αντίγραφο του αρχικού αρχείου. Η στήλη " uniqueField " είναι το πρωτεύον κλειδί ή το μοναδικό σετ δείκτη στον αρχικό πίνακα . Η στήλη " dupField " είναι το πεδίο στο οποίο είναι αποφασισμένη να είναι ένα έναυσμα για το αντίγραφο. Για παράδειγμα , εάν έχετε έναν πίνακα πελατών με αντίγραφα , μπορείτε να προσδιορίσετε ότι περισσότερο από 1 εγγραφή με τον ίδιο αριθμό Κοινωνικής Ασφάλισης είναι ένα αντίγραφο field.delete από TheTablewhere uniqueField δεν ( επιλέξτε λεπτά ( uniqueField ) από TempTable T2where T2.dupField = MyTable.dupField )
5

Ελέγξτε τα αποτελέσματα . Εκτελέστε τα ίδια ερωτήματα από το Βήμα 1 . Ο συνολικός αριθμός του αρχικού πίνακα πρέπει να είναι η διαφορά μεταξύ του αριθμού μετρημένες πριν τη ερώτημα διαγραφής και τον αριθμό διαγράφονται από τον πίνακα . Επιπλέον , λειτουργεί το ξεχωριστό ερώτημα θα πρέπει να έχουν τον ίδιο αριθμό με το 1ο ερώτημα .
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα