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.