Επαναφορά τιμής στήλης ταυτότητας στον SQL Server
Εάν χρησιμοποιείτε μια στήλη ταυτότητας στους πίνακες SQL Server, μπορείτε να ορίσετε την επόμενη τιμή ένθετης σε οποιαδήποτε τιμή θέλετε. Ένα παράδειγμα είναι αν θέλετε να ξεκινήσετε την αρίθμηση της στήλης ταυτότητας σας στο 1000 αντί για το 1.
Θα ήταν καλό να ελέγξετε πρώτα ποια είναι η τρέχουσα τιμή αναγνώρισης. Μπορούμε να χρησιμοποιήσουμε αυτήν την εντολή για να το κάνουμε:
DBCC CHECKIDENT ('όνομα πίνακα', NORESEED)
Για παράδειγμα, εάν ήθελα να ελέγξω την επόμενη τιμή ταυτότητας του πίνακα παραγγελιών μου, θα μπορούσα να χρησιμοποιήσω αυτήν την εντολή:
DBCC CHECKIDENT (παραγγελίες, NORESEED)
Για να ορίσετε την τιμή του επόμενου αναγνωριστικού να είναι 1000, μπορώ να χρησιμοποιήσω αυτήν την εντολή:
DBCC CHECKIDENT (παραγγελίες, RESEED, 999)
Σημειώστε ότι η επόμενη τιμή θα είναι οτιδήποτε επανατοποθετήσατε με + 1, έτσι σε αυτή την περίπτωση έβαλα το 999 έτσι ώστε η επόμενη τιμή να είναι 1000.
Ένα άλλο πράγμα που πρέπει να σημειωθεί είναι ότι μπορεί να χρειαστεί να περικλείσετε το όνομα του πίνακα σε απλά εισαγωγικά ή αγκύλες, εάν κάνετε αναφορά από μια πλήρη διαδρομή ή εάν το όνομα του πίνακα σας έχει κενά μέσα του. (που πραγματικά δεν θα έπρεπε)
DBCC CHECKIDENT ('databasename.dbo.orders', RESEED, 999)