Oracle Utwórz polecenie sekwencji

Oracle Utwórz polecenie sekwencji
Sekwencje bazy danych są przydatnymi obiektami bazy danych, które pozwalają bazie danych automatyczne generowanie sekwencji wartości na podstawie danej wartości początkowej, etapu przyrostu i wartości maksymalnej.

Często napotykasz sekwencje bazy danych używane jako klucze podstawowe dla kolumny bazy danych. Chociaż możesz użyć wbudowanego generatora klucza podstawowego, sekwencje zapewniają różne właściwości, które umożliwiają dostosowanie sposobu dodawania wartości do bazy danych.

Ten samouczek nauczy Cię, jak korzystać z polecenia Utwórz sekwencję w bazie danych Oracle, aby zdefiniować nową sekwencję.

Oracle Utwórz instrukcję sekwencji

Używamy instrukcji Utwórz sekwencję w Oracle, aby utworzyć nową sekwencję Oracle. Możemy wyrazić składnię tego stwierdzenia, jak pokazano poniżej:

Utwórz Sekwencję Sekwencji Sekwencji
[Przyrost przez N]
[Zacznij od N]
[MaxValue n | NomaxValue]
[Minvalue N | NominValue]
[Cykl | Nocycle]
[Pamięć podręczna n | Nocache]
[Zamów | Noorder]

Oświadczenie akceptuje następujące opcje:

  1. SECENCJA_NAME - Określa nazwę sekwencji, którą chcesz utworzyć.
  2. Przyrost według n - przyrost przez n klauzulę pozwala określić wartość, o którą wzrasta sekwencja. Domyślnie sekwencja wzrośnie z poprzedniej wartości o współczynnik 1.
  3. Zacznij od N - Ta opcja pozwala określić wartość, przy której rozpocznie się sekwencja. Podobnie wartość domyślna jest ustawiona na 1.
  4. MaxValue N - Parametr MaxValue umożliwia ustawienie maksymalnej wartości, którą może wygenerować sekwencja. Wartość domyślna jest ustawiona na 10^27-1.
  5. MinValue N - W tym przypadku parametr ten określa minimalną wartość generowaną przez sekwencję. Wartość domyślna jest ustawiona na -10^27+1.
  6. Cykl - parametr cyklu określa, czy sekwencja powinna cykl wygenerowane wartości po maksimum. Jeśli zostanie ustawiony, sekwencja rozpocznie się od wartości minimalnej po osiągnięciu określonej wartości maksymalnej. Aby zapobiec cyklu sekwencji, użyj opcji nocycle. Domyślnie sekwencja nie będzie cyklować wartości.
  7. Pamięć podręczna n - Ta klauzula określa liczbę liczb sekwencji, które są prealokowane i przechowywane w pamięci lub buforowane w celu szybszego dostępu. Domyślnie żadne wartości nie są buforowane.
  8. Zamówienie - parametr zamówienia określa, czy sekwencja liczb jest generowana w kolejności żądania. Jeśli ta klauzula nie jest określona, ​​domyślnym zachowaniem jest NOORDER.

Oracle Utwórz przykład sekwencji

W poniższym przykładzie tworzymy sekwencję o nazwie looper_secence, która zaczyna się od wartości 2 i osiąga 100 z przedziałem 2. Sekwencja będzie również cyklować wartości po osiągnięciu maksymalnej wartości.

Utwórz sekwencję looper_secence
Przyrost o 2
Zacznij od 2
MinValue 2
MaxValue 100
cykl
Nocache;

Po zdefiniowaniu sekwencji możemy pobrać wartości z sekwencji za pomocą funkcji NXTVAL ().

Wybierz LOOPER_SEMPENCE.NextVal z Dual;

Ponieważ po raz pierwszy uruchamia sekwencję, powinien zwrócić pierwszą wartość, jak pokazano poniżej:

Jeśli ponownie utworzymy sekwencję w tej samej sesji, powinniśmy uzyskać następną wartość, jak pokazano poniżej:

Powinno to kontynuować dla każdej iteracji, dopóki nie osiągniemy maksymalnej wartości, zmuszając sekwencję do rozpoczęcia od nowa.

Oracle zdobądź bieżącą wartość

Aby uzyskać bieżącą wartość w sekwencji, możesz użyć funkcji currval (), jak pokazano poniżej:

Wybierz LOOPER_SEMPENCE.Currval z Dual;

Wynik:

Wniosek

W tym samouczku nauczyłeś się używać polecenia Utwórz sekwencję w Oracle, aby utworzyć nowy obiekt sekwencji w bazie danych. Nauczyłeś się także, jak korzystać z funkcji NXTVAL () i Currval (), aby uzyskać odpowiednio następne i bieżące wartości sekwencji.