summaryrefslogtreecommitdiffstats
path: root/Bachelor/Datenbanken 2/Praktikum4/sequenz_Oracle.sql
blob: 6902f5b70ca180e7740ffd0ce9b421b3b7930294 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
-- Der Oracle-Sequenzdefinition
-- Zur Generierung von systemseitig vergebenen, synthetischen und fort-
-- laufenden Schl�sselwerten bietet Oracle das Sequenz-Konzept an:

CREATE SEQUENCE [<Schema>.]<Sequenz>
   [ INCREMENT BY <Wert> ]
   [ START WITH <Wert> ]
   [ NOMAXVALUE | MAXVALUE <Wert> ]
   [ NOMINVALUE | MINVALUE <Wert> ]
   [ NOCYCLE | CYCLE ]
   [ NOCACHE | CACHE <Wert> ]
   [ ORDER   | NOORDER ];

-- die unterschiedlichen Klauseln sind z.T. selbsterkl�rend bzw.
-- vgl. die Oracle-Literatur!

-- ***************************************************************

-- Beispielsequenz f�r die Testtabelle mit defaults f�r alle Klauseln
-- ausser INCREMENT BY 2 bei Startwert 2

CREATE SEQUENCE testsequenz INCREMENT BY 2 START WITH 2;

-- ***************************************************************

-- Eine definierte Sequenz kann anschliessende in Insert- und Update-
-- Anweisungen benutzt werden: 
-- <Sequenz>.NEXTVAL l�sst sich den n�chsten Wert erzeugen
-- <Sequenz>.CURVAL  l�sst den (auch wiederholten) Zugriff auf den 
--                   aktuellen Seuqenzwert zu

-- ****************************************************************
-- Inserts auf unserer Test-Tabelle �ber die Sequenz "testsequenz"
-- vorsichtshalber vorher:

delete from test;

insert into test values (testsequenz.nextval, 'DDD');