Oracle Sequence Nextval Function

Oracle Sequence Nextval Function



ב-Oracle, רצף מתייחס לאובייקט מסד נתונים שיוצר סדרה של ערכים מספריים לפי תוספת מסוימת. רצפים משמשים בדרך כלל ליצירת ערכי המפתח הראשי הייחודיים עבור רשומות בטבלת מסד נתונים.

במדריך זה, נלמד כיצד להשתמש בפונקציית NEXTVAL בעת עבודה עם רצפי אורקל.

הערה: מדריך זה אינו מכסה את היסודות של יצירת רצף אורקל. עיין במדריך שלנו על רצפי אורקל כדי לגלות עוד.







פונקציית Oracle Nextval

הפונקציה nextval ברצף אורקל משמשת כדי להביא את הערך הבא ברצף נתון.



אנו יכולים לבטא את התחביר של הפונקציה כפי שמוצג בקטע הקוד הבא:



sequence_name.nextval

הפונקציה אינה מקבלת שום ארגומנט או פרמטר. לאחר מכן הוא מחזיר את הערך הבא ברצף המוגדר.





דוגמה להדגמת פונקציות

הבה ניקח בחשבון דוגמה. אנו מתחילים בהגדרת רצף אורקל פשוט כפי שמוצג בקוד הבא:

CREATE SEQUENCE test_sequence
להתחיל עם 1
הגדל לפי 1 ;

אנו משתמשים במשפט CREATE SEQUENCE כדי לאתחל רצף אורקל חדש. לאחר מכן אנו מגדירים באיזה ערך מתחיל הרצף ואת הערך המצטבר עבור כל ערך חדש שנוצר.



בדוגמה שלנו, ה-test_sequence מתחיל בערך של 1 ומתגבר באחד על כל ערך חדש. זה אמור ליצור סדרה של ערכים מספריים שמתחילים ב-1,2,3,4,5... וכו'.

שימוש בפונקציית Oracle Nextval

אנו יכולים להשתמש בפונקציית הערך הבא מרצף test_sequence כדי לקבל את הערך הבא, כפי שמוצג להלן:

בחר test_sequence.nextval מ-dual;

זה אמור להחזיר את הערך הבא מהרצף כפי שמוצג להלן:

אם אתה קורא להצהרה שוב, היא אמורה להחזיר את הערך הבא בסדרה שהוא 2.

זה נמשך עד למיצוי הערכים, או שתגיע לערך המקסימלי המוגדר ברצף. עיין במדריך הרצף של Oracle שלנו כדי ללמוד כיצד להגדיר את ערכי המינימום והמקסימום.

שימוש בפונקציית 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 במשפט insert כמפתח ראשי. לדוגמה:

להכניס לתוך משתמשים ( תְעוּדַת זֶהוּת ,שם_שם,כרטיס אשראי,מדינה )
ערכים ( test_sequence.nextval, 'ג'יימס סמית' , '4278793631436711' , 'איחוד האמירויות הערביות' ) ;

בדוגמה הנתונה, אנו קוראים לפונקציה nextval מתוך test_sequence כדי להכניס את הערך עבור העמודה id בטבלה.

סיכום

בפוסט זה, גילית כיצד להשתמש בפונקציה Nextval של Oracle כדי להביא את הערך הבא ברצף. למדת גם כיצד להשתמש בפונקציה כדי לחזור על קבוצת ערכים או להוסיף ערך ייחודי בעמודת טבלה.