Funkcja sekwencji Oracle NextVal

Funkcja sekwencji Oracle NextVal
W Oracle sekwencja odnosi się do obiektu bazy danych, który generuje serię wartości liczbowych zgodnie z określonym przyrostem. Sekwencje są powszechnie używane do generowania unikalnych wartości kluczy podstawowych dla rekordów w tabeli bazy danych.

W tym samouczku dowiemy się, jak korzystać z funkcji NextVal podczas pracy z sekwencjami Oracle.

Uwaga: Ten samouczek nie obejmuje podstaw tworzenia sekwencji Oracle. Zapoznaj się z naszym samouczkiem na temat sekwencji Oracle, aby odkryć więcej.

Funkcja Oracle NextVal

Funkcja NextVal w sekwencji Oracle jest używana do pobrania następnej wartości w danej sekwencji.

Możemy wyrazić składnię funkcji, jak pokazano w następującym fragmencie kodu:

Nazwa_zadnicy sekwencji.NextVal

Funkcja nie akceptuje żadnego argumentu ani parametru. Następnie zwraca następną wartość w zdefiniowanej sekwencji.

Przykładowa demonstracja funkcji

Weźmy pod uwagę przykład. Zaczynamy od zdefiniowania prostej sekwencji Oracle, jak pokazano w następującym kodzie:

Utwórz sekwencję Test_Secence
Zacznij od 1
Przyrost o 1;

Używamy instrukcji Utwórz sekwencję, aby zainicjować nową sekwencję Oracle. Następnie definiujemy, jaka wartość zaczyna się sekwencja i wartości przyrostu dla każdej nowej wygenerowanej wartości.

W naszym przykładzie konsekwencja testowa rozpoczyna się od wartości 1 i przyrostów o jeden na każdą nową wartość. Powinno to wygenerować serię wartości numerycznych, zaczynając od 1,2,3,4,5… itp.

Korzystanie z funkcji Oracle NextVal

Możemy użyć funkcji następnej wartości z sekwencji SEDES_STED_SEDENCE, aby uzyskać następną wartość, jak pokazano następująco:

Select Test_Secence.NextVal z Dual;

Powinno to zwrócić następną wartość z sekwencji, jak pokazano następująco:

Jeśli zadzwonisz ponownie do instrukcji, powinien on zwrócić następną wartość w serii, która wynosi 2.

Trwa to, aż wartości zostaną wyczerpane lub osiągniesz maksymalną wartość zdefiniowaną w sekwencji. Sprawdź nasz samouczek sekwencji Oracle, aby dowiedzieć się, jak ustawić minimalne i maksymalne wartości.

Korzystanie z funkcji NextVal do zapętlania wartości nad wartościami

Możemy również użyć funkcji NextVal do drukowania liczb od 1 do 10, jak pokazano w następującym kodzie:

Utwórz sekwencję looper_secence
Zacznij od 1
Przyrost o 1;
set ServerOutput On;
ZACZYNAĆ
Bo w 1… 10
PĘTLA
Dbms_output.Put_line (looper_ konsekwencja.NextVal);
Pętla końcowa;
KONIEC;

Dostarczany kod tworzy nową sekwencję o nazwie looper_secence, która zaczyna się od 1 i przyrostu o 1 dla każdej nowej wygenerowanej wartości.

Następnie włączamy opcję ServerOutput, która umożliwia pakiecie DBMS_OUTPUT na wyświetlanie wiadomości w konsoli SQL*.

Wreszcie, załączamy pętlę w oświadczeniu w końcu/początek, aby iterować w zakresie wartości od 1 do 10. Następnie wywołujemy DBMS_OUTPUT.PUT_LINE Funkcja dla każdej wartości w zakresie i wydrukuj następną wartość w sekwencji sekwencji looper_sekwencji z konsolą.

Kod drukuje następne dziesięć wartości w sekwencji Looper. W naszym przypadku będzie to wartość od 1 do 10 lub 11 - 20… i tak dalej dla każdego nowego połączenia.

Wynikające z tego wyjście:

1
2
3
4
5
6
7
8
9
10
Procedura PL/SQL pomyślnie zakończona.

Korzystanie z funkcji NextVal w instrukcji Insert

Możemy również użyć funkcji NextVal w instrukcji Wstaw jako klucz podstawowy. Na przykład:

Wstaw do użytkowników (id, First_name, Credit_card, kraj)
Wartości (sekwencja testu.Nextval, „James Smith”, „4278793631436711”, „Zjednoczone Emiraty Arabskie”);

W danym przykładzie wywołujemy funkcję NextVal z konsekwencji testowej, aby wstawić wartość dla kolumny identyfikatora w tabeli.

Wniosek

W tym poście odkryłeś, jak korzystać z funkcji Oracle NextVal, aby pobrać następną wartość w sekwencji. Nauczyłeś się również, jak używać funkcji do iteracji przez zestaw wartości lub wstawić unikalną wartość w kolumnie tabeli.