SAP Εκμάθηση HANA: Δημιουργία ακολουθίας
Τι είναι η Ακολουθία;
Μια ακολουθία είναι ένα αντικείμενο βάσης δεδομένων που δημιουργεί αυτόματα την αυξανόμενη λίστα αριθμητικών τιμών σύμφωνα με τον κανόνα όπως καθορίζεται στην προδιαγραφή ακολουθίας.
Για παράδειγμα, για να εισαγάγουμε αυτόματα τον αριθμό υπαλλήλου στη στήλη (EMPLOYEE_NO) του πίνακα, όταν εισάγεται μια νέα εγγραφή στον πίνακα, τότε χρησιμοποιούμε τη σειρά.
Οι τιμές της ακολουθίας δημιουργούνται με Αύξουσα ή Φθίνουσα σειρά.
Οι ακολουθίες δεν συσχετίζονται με πίνακες. χρησιμοποιούνται από την εφαρμογή. Υπάρχουν δύο τιμές στη σειρά -
- CURRVAL – Παρέχετε την τρέχουσα τιμή της ακολουθίας.
- NEXTVAL – Παρέχετε την επόμενη τιμή της ακολουθίας.
ΣΥΝΤΑΞΗ
CREATE SEQUENCE <sequence_name> [<sequence_parameter_list>] [RESET BY <subquery>]
ΣΥΝΤΑΚΤΙΚΑ ΣΤΟΙΧΕΙΑ
| ΣΤΟΙΧΕΙΑ | ΠΕΡΙΓΡΑΦΉ |
|---|---|
| Είναι το όνομα της ακολουθίας. | |
| [ ] | Καθορίζει μία ή περισσότερες παραμέτρους ακολουθίας. |
| ΑΡΧΙΣΕ ΜΕ | Περιγράφει την τιμή της αρχικής ακολουθίας. |
| ΑΥΞΗΣΗ ΚΑΤΑ | Αυτό καθορίζει την τιμή που πρέπει να αυξάνεται από την τελευταία τιμή που έχει εκχωρηθεί για κάθε φορά που δημιουργείται νέα τιμή ακολουθίας. Η προεπιλογή είναι 1. |
| ΜΕΓΙΣΤΗ ΤΙΜΗ | Αυτό καθορίζει τη μέγιστη τιμή , η οποία μπορεί να δημιουργηθεί από την ακολουθία. μπορεί να είναι μεταξύ -4611686018427387903 και 4611686018427387902. |
| ΟΧΙ MAXVALUE | Όταν έχει καθοριστεί το NO MAXVALUE, για μια αύξουσα ακολουθία, η μέγιστη τιμή θα είναι 4611686018427387903 και η ελάχιστη τιμή για μια φθίνουσα ακολουθία θα είναι -1. |
| MINVALUE / ΟΧΙ MINVALUE | Καθορίζει την ελάχιστη τιμή που μπορεί να δημιουργήσει μια ακολουθία. μπορεί να είναι μεταξύ -4611686018427387904 και 4611686018427387902. Όταν χρησιμοποιείται το NO MINVALUE, η ελάχιστη τιμή για μια αύξουσα ακολουθία είναι 1 |
| ΚΥΚΛΟΣ | Η οδηγία CYCLE καθορίζει ότι ο αριθμός ακολουθίας θα επανεκκινηθεί αφού φτάσει τη μέγιστη ή την ελάχιστη τιμή του. |
| ΟΧΙ ΚΥΚΛΟΣ | Προεπιλεγμένη επιλογή. Η οδηγία NO CYCLE καθορίζει ότι ο αριθμός ακολουθίας δεν θα επανεκκινηθεί αφού φτάσει τη μέγιστη ή την ελάχιστη τιμή του. |
| ΚΡΥΠΤΗ / | Το μέγεθος της κρυφής μνήμης καθορίζει το εύρος των αριθμών ακολουθίας που θα αποθηκευτεί προσωρινά σε έναν κόμβο. πρέπει να είναι ανυπόγραφος ακέραιος. |
| ΟΧΙ CACHE | Προεπιλεγμένη επιλογή. Η οδηγία NO CACHE καθορίζει ότι ο αριθμός ακολουθίας δεν θα αποθηκευτεί προσωρινά σε έναν κόμβο. |
| ΕΠΑΝΑΦΟΡΑ ΑΠΟ | Καθορίζει ότι κατά την επανεκκίνηση της βάσης δεδομένων, η βάση δεδομένων εκτελεί αυτόματα το και η τιμή ακολουθίας επανεκκινείται με την επιστρεφόμενη τιμή. |
Παράδειγμα -
Θα δημιουργήσουμε μια ακολουθία με το όνομα DHK_SCHEMA.EMP_NO, η οποία θα δημιουργεί αυξανόμενη τιμή της ακολουθίας κατά +1 κάθε φορά, όταν χρησιμοποιείται η ακολουθία.
Σενάριο ακολουθίας -
CREATE SEQUENCE DHK_SCHEMA.EMP_NO START WITH 100 INCREMENT BY 1.
Εδώ θα χρησιμοποιήσουμε το αντικείμενο "sequence" στο παρακάτω παράδειγμα για να αυξήσουμε την τιμή του υπαλλήλου no κατά +1 κάθε φορά που εκτελείται το ερώτημα επιλογής. Στο ερώτημα, το "nextval" μπορεί να χρησιμοποιηθεί για τη δημιουργία σειριακού αριθμού ή του ίδιου τύπου απαίτησης.
Χρήση της ακολουθίας -
SELECT DHK_SCHEMA.EMP_NO.nextval FROM DUMMY;
OUTPUT – 100,101,102………Έτσι σε κάθε εκτέλεση του παραπάνω επιλέξτε ερώτημα.
