Oracle ALTER SEQUENCE Με πρακτικά παραδείγματα

Oracle Alter Sequence Me Praktika Paradeigmata



Στο Oracle, μια ακολουθία είναι ένα αντικείμενο βάσης δεδομένων που δημιουργεί μια μοναδική σειρά ακεραίων που μπορούν να χρησιμοποιηθούν ως πρωτεύον κλειδί ή για οποιονδήποτε άλλο σκοπό όπου απαιτείται μοναδικός αριθμός. Το ALTER SEQUENCE είναι ένα ισχυρό εργαλείο στην Oracle που σας επιτρέπει να τροποποιήσετε τα χαρακτηριστικά μιας ακολουθίας στη βάση δεδομένων. Η εντολή ALTER SEQUENCE μπορεί να φαίνεται τρομακτική στην αρχή, αλλά πρακτικά παραδείγματα μπορούν να σας βοηθήσουν να κατανοήσετε και να αξιοποιήσετε πλήρως τις δυνατότητές της.

Αυτός ο οδηγός θα καλύψει τα ακόλουθα παραδείγματα:

Επαναφέρετε την τιμή ακολουθίας

Για να επαναφέρετε την τιμή της ακολουθίας ή για να επανεκκινήσετε την τιμή της ακολουθίας από την αρχική της τιμή, το ' ΑΛΛΑΞΗ ΑΚΟΛΟΥΘΙΑΣ εντολή ' με το ' ΕΠΑΝΕΚΚΙΝΗΣΗ Μπορεί να χρησιμοποιηθεί η ρήτρα. Το παράδειγμα δίνεται παρακάτω:







ALTER SEQUENCE LINUXHINT_SEQ ΕΠΑΝΕΚΚΙΝΗΣΗ.

Στην παραπάνω εντολή, ' LINUXHINT_SEQ ' αντιπροσωπεύει το όνομα της ακολουθίας.



Παραγωγή



Η έξοδος δείχνει ότι έχει γίνει επαναφορά της ακολουθίας.





Αλλάξτε τις ελάχιστες τιμές της ακολουθίας

Όταν δημιουργείται μια ακολουθία στο Oracle, από προεπιλογή η ελάχιστη τιμή της ορίζεται σε 1. Το ' ΑΛΛΑΞΗ ΑΚΟΛΟΥΘΙΑΣ εντολή ' με το ' MINVALUE Η πρόταση μπορεί να χρησιμοποιηθεί για να αλλάξει η ελάχιστη τιμή της ακολουθίας. Το παράδειγμα δίνεται παρακάτω:

ALTER SEQUENCE LINUXHINT_SEQ MINVALUE -1;

Σε αυτό το παράδειγμα, η νέα ελάχιστη τιμή είναι -1 .



Παραγωγή

Η έξοδος έδειξε ότι η ελάχιστη τιμή έχει αλλάξει.

Αλλάξτε τις μέγιστες τιμές της ακολουθίας

Από προεπιλογή, η μέγιστη τιμή μιας ακολουθίας Oracle είναι '10^27 – 1', η οποία είναι η μεγαλύτερη δυνατή τιμή για έναν 38ψήφιο δεκαδικό αριθμό. Για να αλλάξετε τη μέγιστη τιμή ακολουθίας, το ' ΑΛΛΑΞΗ ΑΚΟΛΟΥΘΙΑΣ εντολή ' με το ' ΜΕΓΙΣΤΗ ΤΙΜΗ Μπορεί να χρησιμοποιηθεί η ρήτρα. Το παράδειγμα παρέχεται παρακάτω:

ALTER SEQUENCE LINUXHINT_SEQ MAXVALUE 1000;

Στο παραπάνω παράδειγμα, η νέα μέγιστη τιμή θα είναι 1000 .

Παραγωγή

Στο στιγμιότυπο οθόνης, φαίνεται ότι η μέγιστη τιμή έχει αλλάξει.

Σημείωση : Στο παραπάνω παράδειγμα, η ακολουθία θα σταματήσει να δημιουργεί τιμές αφού φτάσει το 1000 και οποιεσδήποτε προσπάθειες δημιουργίας τιμής πέρα ​​από αυτό το σημείο θα οδηγήσουν σε σφάλμα.

Αλλάξτε το μέγεθος προσωρινής αποθήκευσης της ακολουθίας

Το μέγεθος της κρυφής μνήμης καθορίζει τον αριθμό των αριθμών ακολουθίας που έχουν εκ των προτέρων εκχωρηθεί και αποθηκευτεί στη μνήμη για ταχύτερη πρόσβαση. Για να αλλάξετε το μέγεθος της προσωρινής μνήμης της ακολουθίας, χρησιμοποιήστε το ' ΚΡΥΠΤΗ «ρήτρα με το « ΑΛΛΑΞΗ ΑΚΟΛΟΥΘΙΑΣ ' εντολή. Ένα παράδειγμα δίνεται παρακάτω:

ALTER SEQUENCE LINUXHINT_SEQ CACHE 50;

Στο παραπάνω παράδειγμα, το μέγεθος της κρυφής μνήμης της ακολουθίας έχει οριστεί σε πενήντα . Σημαίνει ότι ο αριθμός σειράς 50 θα εκχωρηθεί εκ των προτέρων κάθε φορά για ταχύτερη πρόσβαση.

Παραγωγή

Η έξοδος δείχνει ότι το μέγεθος της κρυφής μνήμης έχει αλλάξει.

Ορίστε το μέγεθος και τη σειρά της ακολουθίας προσωρινής μνήμης

Για να ορίσετε το μέγεθος της κρυφής μνήμης ακολουθίας και να δημιουργήσετε τους αριθμούς ακολουθίας με τη σειρά, χρησιμοποιήστε το ' ΣΕΙΡΑ ' και ' ΚΡΥΠΤΗ «ρήτρες με το « ΑΛΛΑΞΗ ΑΚΟΛΟΥΘΙΑΣ ' εντολή. Εδώ είναι ένα παράδειγμα:

ALTER SEQUENCE LINUXHINT_SEQ CACHE 100 ORDER;

Σε αυτό το παράδειγμα, η νέα τιμή μεγέθους κρυφής μνήμης θα είναι 100 .

Παραγωγή

Η έξοδος εμφανίζει ότι οι αλλαγές έχουν γίνει στην ακολουθία.

Ρυθμίστε την ακολουθία για να δημιουργήσει φθίνουσες τιμές

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

Για να ορίσετε την ακολουθία ώστε να δημιουργεί φθίνουσες τιμές, χρησιμοποιήστε το ' ΑΥΞΗΣΗ ΚΑΤΑ ' με την ' ΑΛΛΑΞΗ ΑΚΟΛΟΥΘΙΑΣ ” εντολή και ορίστε την τιμή σε -1. Το παράδειγμα δίνεται παρακάτω:

ΑΛΛΑΓΗ ΑΚΟΛΟΥΘΙΑΣ LINUXHINT_SEQ ΑΥΞΗΣΗ ΚΑΤΑ -1;

Σε αυτό το παράδειγμα, η τιμή είναι -1 , που σημαίνει ότι κάθε φορά που καλείται η ακολουθία, επιστρέφεται ο προηγούμενος αριθμός της ακολουθίας.

Παραγωγή

Η έξοδος δείχνει ότι η ακολουθία έχει ρυθμιστεί να δημιουργεί φθίνουσες τιμές.

Αλλάξτε την τιμή αύξησης της ακολουθίας

Για να αλλάξετε την αυξητική τιμή της ακολουθίας, χρησιμοποιήστε το ' ΑΥΞΗΣΗ ΚΑΤΑ ' με την ' ΑΛΛΑΞΗ ΑΚΟΛΟΥΘΙΑΣ ” εντολή και ορίστε την τιμή ανάλογα. Το παράδειγμα παρέχεται παρακάτω:

ΑΛΛΑΓΗ ΑΚΟΛΟΥΘΙΑΣ LINUXHINT_SEQ ΑΥΞΗΣΗ ΚΑΤΑ 2;

Σε αυτό το παράδειγμα, η τιμή είναι 2 , που σημαίνει ότι κάθε φορά που καλείται η ακολουθία, ο επόμενος αριθμός της ακολουθίας θα αυξάνεται κατά 2.

Παραγωγή

Η έξοδος έδειξε ότι η ακολουθία έχει τροποποιηθεί ανάλογα.

Αλλάξτε τη σειρά για να ενεργοποιήσετε την επιλογή κύκλου

Όταν η επιλογή κύκλου είναι ενεργοποιημένη για μια ακολουθία, η ακολουθία θα τυλιχτεί και θα ξεκινήσει ξανά από την αρχή (MINVALUE) μόλις φτάσει στη μέγιστη τιμή (MAXVALUE). Για να ενεργοποιήσετε αυτήν την επιλογή, χρησιμοποιήστε το ' ΚΥΚΛΟΣ «ρήτρα με το « ΑΛΛΑΞΗ ΑΚΟΛΟΥΘΙΑΣ ' εντολή. Το παράδειγμα δίνεται παρακάτω:

ALTER SEQUENCE LINUXHINT_SEQ CYCLE.

Παραγωγή

Η έξοδος που εμφανίζεται η επιλογή κύκλου έχει ενεργοποιηθεί.

Αλλάξτε την ακολουθία για να απενεργοποιήσετε τον κύκλο

Όταν η επιλογή κύκλου είναι απενεργοποιημένη για μια ακολουθία, η ακολουθία θα σταματήσει να παράγει τιμές μόλις φτάσει στη μέγιστη τιμή (MAXVALUE) ή την ελάχιστη τιμή (MINVALUE), ανάλογα με τη σειρά δημιουργίας. Για να απενεργοποιήσετε αυτήν την επιλογή, χρησιμοποιήστε την ρήτρα 'NOCYCLE' με την εντολή 'ALTER SEQUENCE'. Το παράδειγμα παρέχεται παρακάτω:

ALTER SEQUENCE LINUXHINT_SEQ NOCYCLE;

Παραγωγή

Η έξοδος έδειξε ότι η επιλογή κύκλου έχει απενεργοποιηθεί.

Αλλάξτε την ακολουθία για να τροποποιήσετε πολλές επιλογές

Πληκτρολογήστε τη δεδομένη εντολή για να ορίσετε την ακολουθία να έχει αρνητική αύξηση κατά -1, μέγιστη τιμή 10 και ενεργοποιημένη μια επιλογή κύκλου:

ΑΛΛΑΓΗ ΑΚΟΛΟΥΘΙΑΣ LINUXHINT_SEQ ΑΥΞΗΣΗ ΚΑΤΑ -1 MAXVALUE 10 ΚΥΚΛΟΥ;

Παραγωγή

Η έξοδος έδειξε ότι οι αλλαγές είχαν γίνει με επιτυχία στην ακολουθία.

συμπέρασμα

Στην Oracle, το ' ΑΛΛΑΞΗ ΑΚΟΛΟΥΘΙΑΣ Η εντολή ” σάς επιτρέπει να αλλάξετε τα χαρακτηριστικά μιας ακολουθίας επαναφέροντας την τιμή της ακολουθίας, αλλάζοντας τις ελάχιστες και μέγιστες τιμές, την τιμή αύξησης, το μέγεθος της προσωρινής αποθήκευσης, την παραγγελία και την ενεργοποίηση ή απενεργοποίηση της επιλογής κύκλου. Αυτές οι αλλαγές είναι χρήσιμες σε πολλά είδη περιστάσεων, όπως όταν χρειάζεται να αλλάξετε την αρχική τιμή μιας ακολουθίας ή να προσαρμόσετε το μέγεθος της προσωρινής αποθήκευσης για καλύτερη απόδοση. Αυτή η ανάρτηση έχει εξηγήσει διάφορες περιπτώσεις χρήσης της εντολής ALTER SEQUENCE χρησιμοποιώντας πρακτικά παραδείγματα.