Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 12402|Απάντηση: 3

[Πηγή] Ενημέρωση της μεθόδου λειτουργίας της στήλης αναγνωριστικού που αναπτύσσεται αυτόματα στη βάση δεδομένων του SQL Server

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 23/8/2018 12:20:44 μ.μ. | | | |
Στην καθημερινή ανάπτυξη του SQL Server, η στήλη ταυτότητας του τύπου ταυτότητας χρησιμοποιείται συχνά ως ο αυτοαυξανόμενος αριθμός μιας δομής πίνακα. Για παράδειγμα, αριθμός προϊόντος, σειριακός αριθμός εγγραφής κ.λπ. Οι αναφορές σε αυτοαναπτυσσόμενες στήλες διευκολύνουν σημαντικά την ανάπτυξη προγραμμάτων βάσεων δεδομένων, αλλά μερικές φορές αυτός ο επίμονος τύπος πεδίου μπορεί επίσης να προκαλέσει κάποιο πρόβλημα.

1. Τροποποιήστε τις τιμές πεδίων της στήλης αναγνώρισης:

Μερικές φορές, για να υλοποιηθεί μια συνάρτηση, είναι απαραίτητο να τροποποιηθεί η τιμή ενός πεδίου τύπου Ταυτότητα αυτο-αναπτυσσόμενη, αλλά αυτή η λειτουργία δεν επιτρέπεται από προεπιλογή λόγω του τύπου της στήλης ταυτότητας. Για παράδειγμα, εάν υπάρχουν 5 κομμάτια δεδομένων που προστίθενται κανονικά στη βάση δεδομένων και 2 διαγραφούν αυτήν τη στιγμή, τότε εάν τα δεδομένα προστεθούν ξανά, στη στήλη αναγνώρισης που αναπτύσσεται αυτόματα θα εκχωρηθεί αυτόματα η τιμή 6, αλλά εάν θέλετε να εκχωρήσετε μια τιμή 3 κατά την εισαγωγή δεδομένων, δεν επιτρέπεται από προεπιλογή. Εάν θέλετε να αλλάξετε την τιμή αυτού του πεδίου, μπορείτε να ελέγξετε πλήρως την εισαγωγή της τιμής του πεδίου αναγνώρισης, υπάρχουν ακόμα μέθοδοι, χαχα.

ΟΡΊΣΤΕ IDENTITY_INSERT /[ΠΊΝΑΚΑΣ/] [ON| ΑΠΕΝΕΡΓΟΠΟΙΗΜΕΝΟ]
Χρησιμοποιώντας την παραπάνω δήλωση, μπορείτε εύκολα να ελέγξετε εάν μια στήλη αναγνωριστικού που αναπτύσσεται αυτόματα σε έναν πίνακα θα αυξηθεί αυτόματα, δηλαδή εάν επιτρέπεται να καθορίσετε με μη αυτόματο τρόπο την τιμή του πεδίου στήλης αναγνωριστικού κατά την εισαγωγή μιας εγγραφής. Εάν έχει καθοριστεί ως ενεργό, μπορείτε να καθορίσετε την τιμή του αναγνωριστικού πεδίου στήλης κατά την εισαγωγή, η οποία δεν αυξάνει αυτόματα την εκχωρημένη τιμή. Φυσικά, εάν το χρησιμοποιήσετε, πρέπει να χρησιμοποιήσετε αυτήν τη δήλωση για να απενεργοποιήσετε το διακόπτη στην προεπιλεγμένη κατάσταση, διαφορετικά το πεδίο δεν θα αυξήσει αυτόματα την εκχωρημένη τιμή όταν εισαγάγετε δεδομένα την επόμενη φορά.

2. Επαναφέρετε την τιμή πεδίου της στήλης αναγνώρισης:

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

DBCC CHECKIDENT(ΠΊΝΑΚΑΣ, [ΕΠΑΝΑΣΠΟΡΆ| NORESEED], [1])
Η παραπάνω δήλωση θα αναγκάσει την επαναφορά της αρχικής τιμής του καθορισμένου πίνακα στο 1. Ωστόσο, εάν δεν θέλετε να επαναφέρετε τον σπόρο στο 1, μπορείτε να αντικαταστήσετε την τρίτη παράμετρο με την τιμή σπόρου που θέλετε να χρησιμοποιήσετε. Εάν θέλετε να μάθετε τον τρέχοντα σπόρο αντί να επαναφέρετε τον αναγνωρισμένο σπόρο, πρέπει να χρησιμοποιήσετε το NORESEED αντί να ορίσετε την τρίτη παράμετρο.




Προηγούμενος:Στήλες αυτόματης ανάπτυξης του SQL Server 2012 με ζητήματα μεταπήδησης τιμών
Επόμενος:Τα Windows αποτυγχάνουν να ξεκινήσουν την υπηρεσία Redis, σφάλμα 1067: Η διαδικασία τερματίζεται απροσδόκητα.
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 23/8/2018 12:57:08 μ.μ. |
1. Όταν διαγραφούν όλα τα δεδομένα στον πίνακα, θα μηδενιστούν αυτόματα. ( περικοπή πίνακα TableName )

2. Μην διαγράψετε τα δεδομένα του πίνακα, επαναφέρετε απευθείας την τιμή της αυτόματης ανάπτυξης. ( DBCC CHECKIDENT('TableName', RESEED, 0)
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 23/8/2018 1:01:32 μ.μ. |
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 13/2/2019 9:59:15 π.μ. |
Προβάλετε τις τρέχουσες τιμές των στηλών αυτόματης αύξησης σε έναν πίνακα:
    DBCC CHECKIDENT (ΌνομαΠίνακα)

Τροποποιήστε την τρέχουσα τιμή μιας στήλης αυτόματης αύξησης σε έναν πίνακα:
    DBCC CHECKIDENT (Όνομα_πίνακα, RESEED, τιμή)
    Το RESEED δεν είναι όνομα στήλης, είναι γραμμένο με σταθερό τρόπο.


Για παράδειγμα, εάν θέλω να αλλάξω την τρέχουσα τιμή της αυτοπροσαυξανόμενης στήλης στον πίνακα Διαίρεση σε 30, μπορώ να χρησιμοποιήσω την ακόλουθη εντολή
DBCC CHECKIDENT (Κατηγορία, RESEED, 30)
Στη συνέχεια, χρησιμοποιήστε
DBCC CHECKIDENT (Τμήμα)
Μπορείτε να δείτε ότι η τρέχουσα τιμή είναι 30
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com