Co to jest sekwencja?
Sekwencja to obiekt bazy danych, który automatycznie generuje rosnącą listę wartości liczbowych zgodnie z regułą określoną w specyfikacji sekwencji.
Na przykład, aby automatycznie wstawić numer pracownika w kolumnie (EMPLOYEE_NO) tabeli, gdy nowy rekord jest wstawiany do tabeli, używamy sekwencji.
Wartości sekwencji są generowane w kolejności rosnącej lub malejącej.
Sekwencje nie są powiązane z tabelami; są używane przez aplikację. Istnieją dwie wartości w kolejności -
- CURRVAL - Podaj bieżącą wartość sekwencji.
- NEXTVAL - Podaj następną wartość sekwencji.
SKŁADNIA
UTWÓRZ SEKWENCJĘ[ ] [ZERUJ PRZEZ ]
ELEMENTY SKŁADNIKI
ELEMENTY | OPIS |
---|---|
To jest nazwa sekwencji. | |
[ | Określa jeden lub więcej parametrów sekwencji. |
ZACZNIJ OD | Opisuje wartość sekwencji początkowej. |
WZROST O | Określa wartość, która ma być zwiększana od ostatniej wartości przypisanej za każdym razem, gdy generowana jest nowa wartość sekwencji. Wartość domyślna to 1. |
MAXVALUE | Określa maksymalną wartość, jaką może wygenerować sekwencja. |
NO MAXVALUE | Jeśli określono wartość NO MAXVALUE, dla kolejności rosnącej wartość maksymalna wyniesie 4611686018427387903, a wartość minimalna dla sekwencji malejącej będzie wynosić -1. |
MINVALUE | Określa minimalną wartość, jaką może wygenerować sekwencja. |
CYKL | Dyrektywa CYCLE określa, że numer kolejny zostanie uruchomiony ponownie po osiągnięciu maksymalnej lub minimalnej wartości. |
BEZ CYKLU | Opcja domyślna Dyrektywa NO CYCLE określa, że numer kolejny nie będzie restartowany po osiągnięciu maksymalnej lub minimalnej wartości. |
CACHE | Rozmiar pamięci podręcznej określa, jaki zakres numerów sekwencji będzie przechowywany w pamięci podręcznej w węźle. |
NO CACHE | Domyślna opcja. Dyrektywa NO CACHE określa, że numer kolejny nie będzie buforowany w węźle. |
RESETUJ PRZEZ
| Określa, że podczas restartu bazy danych baza danych automatycznie wykonuje |
Przykład -
Stworzymy sekwencję o nazwie DHK_SCHEMA.EMP_NO, która utworzy wartość sekwencji zwiększoną o +1 za każdym razem, gdy sekwencja jest używana.
Skrypt sekwencji -
UTWÓRZ SEKWENCJĘ DHK_SCHEMA.EMP_NO ZACZNIJ O 100 PRZYROSTÓW O 1.
Tutaj użyjemy obiektu „sequence” w poniższym przykładzie, aby zwiększyć wartość pracownika o +1 za każdym razem, gdy wykonywane jest zapytanie wybierające. W zapytaniu „nextval” może służyć do generowania numeru seryjnego lub tego samego typu wymagania.
Użycie sekwencji -
SELECT DHK_SCHEMA.EMP_NO.nextval FROM DUMMY;
WYJŚCIE - 100,101,102
… Tak więc przy każdym wykonaniu powyższego zapytania wybierającego.