Szukaj…


Składnia

  • UTWÓRZ SCHEMAT SEKWENCJI {KOLEJNOŚĆ INTEGERA | Zacznij od liczby całkowitej | MAXVALUE INTEGER | INTEGER NOMAXVALUE | MINVALUE INTEGER | INTEGER NOMINOWALNY | CYKL INTEGER | NOCYCLE INTEGER | DACH | NOCACHE | ZAMÓW | NOODER}

Parametry

Parametr Detale
schemat nazwa schematu
przyrost o odstęp między liczbami
zacząć od potrzebny pierwszy numer
maksymalna wartość Maksymalna wartość dla sekwencji
wartość nomax Maksymalna wartość jest domyślna
wartość minimalna minimalna wartość dla sekwencji
wartość nominalna minimalna wartość jest domyślna
cykl Resetuj do początku po osiągnięciu tej wartości
nocycycle Domyślna
Pamięć podręczna Limit wstępnego przydziału
nocache Domyślna
zamówienie Zagwarantować porządek liczb
noorder domyślna

Tworzenie sekwencji: przykład

Cel, powód

Użyj instrukcji CREATE SEQUENCE, aby utworzyć sekwencję, która jest obiektem bazy danych, z którego wielu użytkowników może wygenerować unikalne liczby całkowite. Możesz użyć sekwencji, aby automatycznie wygenerować wartości klucza podstawowego.

Po wygenerowaniu numeru sekwencyjnego sekwencja jest zwiększana, niezależnie od zatwierdzenia lub wycofania transakcji. Jeśli dwóch użytkowników jednocześnie zwiększa tę samą sekwencję, wówczas numery sekwencyjne, które każdy użytkownik pozyskuje, mogą mieć luki, ponieważ numery sekwencyjne są generowane przez drugiego użytkownika. Jeden użytkownik nigdy nie może uzyskać numeru sekwencyjnego wygenerowanego przez innego użytkownika. Po wygenerowaniu wartości sekwencji przez jednego użytkownika, użytkownik ten może nadal uzyskiwać dostęp do tej wartości bez względu na to, czy sekwencja jest zwiększana przez innego użytkownika.

Numery sekwencji są generowane niezależnie od tabel, więc ta sama sekwencja może być użyta dla jednej lub wielu tabel. Możliwe jest, że poszczególne numery sekwencji będą wyglądały na pomijane, ponieważ zostały wygenerowane i wykorzystane w transakcji, która ostatecznie została wycofana. Ponadto pojedynczy użytkownik może nie zdawać sobie sprawy, że inni użytkownicy korzystają z tej samej sekwencji.

Po utworzeniu sekwencji można uzyskać dostęp do jej wartości w instrukcjach SQL za pomocą pseudokolumny CURRVAL, która zwraca bieżącą wartość sekwencji, lub pseudokolumny NEXTVAL, która zwiększa sekwencję i zwraca nową wartość.

Wymagania wstępne

Aby utworzyć sekwencję we własnym schemacie, musisz mieć uprawnienie systemowe CREATE SEQUENCE.

Aby utworzyć sekwencję w schemacie innego użytkownika, musisz mieć uprawnienie systemowe CREATE ANY SEQUENCE.

Tworzenie sekwencji: Przykład Poniższa instrukcja tworzy sekwencję customer_seq w przykładowym schemacie oe. Tej sekwencji można użyć do podania numerów identyfikacyjnych klienta, gdy wiersze są dodawane do tabeli klientów.

CREATE SEQUENCE customers_seq
START WITH     1000
INCREMENT BY   1
NOCACHE
NOCYCLE;

Pierwsze odniesienie do klientów_sekw. Kolejny przedział zwraca 1000. Drugie zwraca 1001. Każde kolejne odniesienie zwróci wartość o 1 większą niż poprzednie odniesienie.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow