Λειτουργία Oracle Sequence Nextval

Leitourgia Oracle Sequence Nextval



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

Σε αυτό το σεμινάριο, θα μάθουμε πώς να χρησιμοποιούμε τη συνάρτηση NEXTVAL κατά την εργασία με ακολουθίες Oracle.

ΣΗΜΕΙΩΣΗ: Αυτό το σεμινάριο δεν καλύπτει τα βασικά για τη δημιουργία μιας ακολουθίας Oracle. Ανατρέξτε στο σεμινάριο μας σχετικά με τις ακολουθίες Oracle για να ανακαλύψετε περισσότερα.







Λειτουργία Oracle Nextval

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



Μπορούμε να εκφράσουμε τη σύνταξη της συνάρτησης όπως φαίνεται στο παρακάτω απόσπασμα κώδικα:



sequence_name.nextval

Η συνάρτηση δεν δέχεται κανένα όρισμα ή παράμετρο. Στη συνέχεια, επιστρέφει την επόμενη τιμή στην καθορισμένη ακολουθία.





Παράδειγμα επίδειξης συνάρτησης

Ας λάβουμε υπόψη ένα παράδειγμα. Ξεκινάμε ορίζοντας μια απλή ακολουθία Oracle όπως φαίνεται στον παρακάτω κώδικα:

CREATE SEQUENCE test_sequence
ΑΡΧΙΣΕ ΜΕ 1
ΑΥΞΗΣΗ ΚΑΤΑ 1 ;

Χρησιμοποιούμε τη δήλωση CREATE SEQUENCE για να αρχικοποιήσουμε μια νέα ακολουθία Oracle. Στη συνέχεια ορίζουμε σε ποια τιμή ξεκινά η ακολουθία και την τιμή αύξησης για κάθε νέα παραγόμενη τιμή.



Στο παράδειγμά μας, το test_sequence ξεκινά από την τιμή του 1 και αυξάνεται κατά ένα σε κάθε νέα τιμή. Αυτό θα πρέπει να δημιουργήσει μια σειρά από αριθμητικές τιμές που ξεκινούν από 1,2,3,4,5… κ.λπ.

Χρήση της συνάρτησης Oracle Nextval

Μπορούμε να χρησιμοποιήσουμε τη συνάρτηση επόμενης τιμής από την ακολουθία test_sequence για να λάβουμε την επόμενη τιμή, όπως φαίνεται παρακάτω:

επιλέγω test_sequence.nextval από dual;

Αυτό θα πρέπει να επιστρέψει την επόμενη τιμή από την ακολουθία όπως φαίνεται παρακάτω:

Εάν καλέσετε ξανά τη δήλωση, θα πρέπει να επιστρέψει την επόμενη τιμή της σειράς που είναι 2.

Αυτό συνεχίζεται μέχρι να εξαντληθούν οι τιμές ή να πατήσετε τη μέγιστη τιμή που ορίζεται στη σειρά. Ελέγξτε το σεμινάριο Oracle sequence για να μάθετε πώς να ορίζετε τις ελάχιστες και μέγιστες τιμές.

Χρήση της συνάρτησης Nextval για επαναφορά τιμών

Μπορούμε επίσης να χρησιμοποιήσουμε τη συνάρτηση nextval για να εκτυπώσουμε τους αριθμούς από το 1 έως το 10 όπως φαίνεται στον ακόλουθο κώδικα:

CREATE SEQUENCE looper_sequence
ΑΡΧΙΣΕ ΜΕ 1
ΑΥΞΗΣΗ ΚΑΤΑ 1 ;

σειρά SERVEROUTPUT ενεργό.
ΑΡΧΙΣΕΙ
FOR I IN 1 .. 10
ΒΡΟΧΟΣ
DBMS_OUTPUT.PUT_LINE ( looper_sequence.nextval ) ;
END LOOP;
ΤΕΛΟΣ;

Ο παρεχόμενος κώδικας δημιουργεί μια νέα ακολουθία που ονομάζεται looper_sequence που ξεκινά από το 1 και αυξάνεται κατά 1 για κάθε νέα παραγόμενη τιμή.

Στη συνέχεια, ενεργοποιούμε την επιλογή SERVEROUTPUT που επιτρέπει στο πακέτο DBMS_OUTPUT να εμφανίζει τα μηνύματα στην κονσόλα SQL*Plus.

Τέλος, περικλείουμε έναν βρόχο for μέσα σε μια δήλωση end/begin για να επαναληφθεί στο εύρος τιμών από το 1 έως το 10. Στη συνέχεια καλούμε τη συνάρτηση DBMS_OUTPUT.PUT_LINE για κάθε τιμή στην περιοχή και εκτυπώνουμε την επόμενη τιμή στην ακολουθία looper_sequence στο κονσόλα.

Ο κώδικας εκτυπώνει τις επόμενες δέκα τιμές στην ακολουθία βρόχου. Στην περίπτωσή μας, θα είναι η τιμή από 1 έως 10 ή 11 – 20… και ούτω καθεξής για κάθε νέα κλήση.

Προκύπτουσα Έξοδος :

1
2
3
4
5
6
7
8
9
10


PL / Η διαδικασία SQL ολοκληρώθηκε με επιτυχία.

Χρήση της συνάρτησης Nextval σε μια δήλωση εισαγωγής

Μπορούμε επίσης να χρησιμοποιήσουμε τη συνάρτηση nextval σε μια πρόταση εισαγωγής ως πρωτεύον κλειδί. Για παράδειγμα:

εισάγετε σε χρήστες ( ταυτότητα ,όνομα,πιστωτική_κάρτα,χώρα )
αξίες ( test_sequence.nextval, «Τζέιμς Σμιθ» , '4278793631436711' , 'Ηνωμένα Αραβικά Εμιράτα' ) ;

Στο συγκεκριμένο παράδειγμα, καλούμε τη συνάρτηση nextval από τη σειρά test_sequence για να εισαγάγουμε την τιμή για τη στήλη id στον πίνακα.

συμπέρασμα

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