Posts Tagged ‘klucz podstawowy’

Tworzenie i kasowanie Sekwencji (oracle sequence)

niedziela, sierpień 3rd, 2008


Sekwencja jest to obiekt bazodanowy który służy do automatycznego generowania unikalnych wartości w tabeli, często sekwencje są używane do klucza podstawowego i klucza obcego.

Do generowanie wartości sekwencji potrzebne są nam dwie pseudokolumny: CURRVAL i NEXTVAL.

Najlepiej zrozumieć to na przykładzie:

CREATE SEQUENCE pracow_seq START WITH 1000 increment by 1;

w tym przykładzie stworzyliśmy sekwencję pracow_seq która będzie użyta na tabeli pracownicy która wystartuje od 1000 i będzie zmniejszać się o 1.

NA początku trzeba tą sekwencje zainicjować z NEXTVAL

select pracow_seq.NEXTVAL from dual;

po zainicjowaniu sekwencji, wstawiamy rekort do tabeli pracownicy

INSERT INTO pracownicy VALUES
(pracow_seq.CURRVAL, ‘Piotr’, ‘Nowakowski’, 29);

ten insert wstawi wiersz do tabeli pracownicy, wiersz ten będzie miał następujące wartości:
aktualny nr sekwencji, imię, nazwisko, wiek

do skasowania sekwencji służy polecenie DROP SEQUENCE, przykład jak poniżej

DROP SEQUENCE pracow_seq;



- - - -