A parancs szekvencia létrehozása szekvencia oracle - SQL lekérdezés nyelv
A szekvencia CREATE SZEKVENCIA Oracle
SEQUENCE PosledovatelnostCREATE - egy adatbázis-objektum, amely generál értékeket megfelelően megállapított szabályok idején annak létrehozását. A szekvenciák jelezheti mind pozitív, mind negatív egész számok. Az adatbázis-kezelő rendszerek szekvenciák különböző célokra használják, de főleg az automatikus generációs elsődleges kulcsokat. Mindazonáltal a tábla elsődleges kulcsa sorrend nem kötött, így bizonyos értelemben az is alá közös használatra. Ha az elsődleges kulcs csak az egyediség biztosításához szükséges, és nem végzi egy bizonyos értelemben, a szekvencia egy kiváló eszköz.
A sorozatot hozunk létre CREATE SORREND parancsot.
CREATE SORREND

Szintaxis a CREATE SEQUENCE
Szintaxis a CREATE SEQUENCE
Fő kulcsszavak és paramétereit a CREATE SEQUENCE.
- séma-rendszer, amely létrehoz egy sorrendet. Ha a séma nincs megadva, az Oracle sorozatát hozza létre a felhasználó sémát.
- szekvencia - nevet a szekvencia
- startwith- lehetővé teszi az alkotó sorozatából az első érték általa generált. Miután létrehozta a sorozat kialakítja a nevezett kezdeni egy értéket az első link a virtuális oszlop NEXTVAL
- növekmény n - határozza meg a növekmény szekvencia minden link egy virtuális oszlopon NEXVAL. Ha nincs kifejezetten megadva, az alapértelmezett értéke 1. A nagyobb szekvenciákat pozitív n, csökkentésére vagy szekvenciák visszaszámlálás - negatív
- MINVALUE - meghatározza a minimális értékét a generált szekvencia. Ha nincs megadva, az Oracle az alapértelmezett NOMINVALUE
- nominvalue - azt jelzi, hogy a minimális érték azonos 1, ha a szekvencia növeli a, -10 vagy 26. Ha a szekvencia csökken
- MAXVALUE - határozza meg a maximális értéke a generált szekvencia. Ha nincs megadva, az Oracle az alapértelmezett NOMAXVALUE
- nomaxvalue - azt jelzi, hogy a maximális érték egyenlő 10 27. Ha a szekvencia megnövekedett vagy -1, ha a szekvencia csökken. Az alapértelmezett NOMAXVALUE
- ciklus - lehetővé teszi, hogy újrafelhasználásra sorrend értékek létre, amikor a MAXVALUE vagy MINVALUE. Ie A folyamat előrehaladtával értékeinek előállítására elérése után maximális vagy minimális. Növekvő sorrendben után éri el a csúcspontját generálja a minimum. Csökkenő sorrendben elérése után a legalacsonyabb szintet generál a maximumot. Ha ciklikus mód nem kívánatos vagy nincs beállítva kifejezetten, az Oracle az alapértelmezett érték - NOCYCLE. CIKLUS jelzik a NOMAXVALUE NOMINVALUE vagy lehetetlen. Ha szüksége van egy ciklikus sorrend, meg kell adnia MAXVALUE egyre nagyobb szekvencia vagy MINVALUE - csökkentésére
- nocycle - azt jelzi, hogy a sorrend nem is olyan értékeket hoz létre, miután elérte a maximális és minimális
- Cachen - meghatározza, hogy hány szekvencia értékek Oracle forgalmazza és támogatja az előre memória gyors hozzáférést. A minimális érték ezen paraméter egyenlő 2. ciklikus sorrend ennek kisebbnek kell lennie, mint az értékek száma egy ciklusban. Ha caching nem kívánatos, vagy nincs beállítva kifejezetten, az Oracle az alapértelmezett érték - 20 értékeket.
- érdekében - garantálja, hogy a sorszámok létre annak érdekében, hogy a kérelmet. Ez az opció használható, például amikor a sorszámokat jelennek időbélyeg. Garantálása érdekében általában nem lényeges, hogy a szekvenciák, amelyek előállításához felhasznált elsődleges kulcsot. Ha a megrendelő nem kívánatos, vagy nincs beállítva kifejezetten, az Oracle az alapértelmezett Noorder
- Noorder - nem garantálja, hogy a sorszámokat keletkezik sorrendben kérelem
1. példa CREATE SZEKVENCIA
Létrehozása szekvencia sequence_1.s első hívást a sorozat visszatér 1. A második hívás visszatér 11. Az ezt követő kezelés visszatér majd több az előző 10:
2. példa CREATE SZEKVENCIA
Létrehozása sequence_2 sorrendben. Csökkenő sorrendet, gyűrűs, amikor a zérus sorrendű ismételten hivatkozik az számát Elder. Ez a szekvencia kényelmesebb használni ezekben a programokban, ahol kezdetéig esemény visszaszámlálás végre kell hajtani:
Miután létrehoztuk a szekvenciát úgy keresztül lehet elérni pseudocolumns CURRVAL (visszaadja az aktuális értéket a szekvencia) és NEXTVAL (megnöveli a szekvenciát, és visszatér, hogy a következő érték). A jelenlegi és a következő érték a szekvencia adatbázis felhasználók végeznek a SELECT utasításban. Sorozatok - nincs asztalok, és az egyszerű objektumok létrehozására egész virtuális oszlopok, így a kívánt állami DUAL tábla adatait szótárban. ahonnan adatokat fogja lehívni virtuális oszlopokat.
Az első utalás NEXTVAL visszatér a kezdeti értéke a szekvencia. Későbbi hívások NEXTVAL módosítsa az értéket a sorozat a növekedés, amelyről megállapítottuk, és visszatér az új értéket. Bármely hivatkozás CURRVAL mindig visszatér az aktuális értéket a sorozat, azaz az érték, amely visszakerült az utolsó címet NEXTVAL. Hozzáférés előtt CURRVAL az aktuális munkamenet, akkor legalább egyszer elvégezni fellebbezést NEXTVAL.
Egy mondatban SQL növekmény szekvencia végezhetjük csak egyszer. Ha a javaslat számos utalást tartalmaz NEXTVAL az ugyanabban a sorrendben, az Oracle felfűtés egymás után egyszer majd visszatér ugyanazon az értéken összes előfordulását NEXTVAL. Ha a javaslat tartalmazza a hivatkozás mind CURRVAL. és NEXTVAL. az Oracle felfűtés szekvenciát, és visszaadja ugyanazt az értéket mindkét CURRVAL. és NEXTVAL. függetlenül attól, hogy milyen sorrendben jelennek meg a mondatban.
Az ugyanabban a sorrendben képes kezelni több felhasználó anélkül, hogy bármilyen várakozás, vagy kizárás:
<имя последовательности>.CURRVAL
<имя последовательности>.NEXTVAL
Ahhoz, hogy olvassa el a jelenlegi vagy a következő értéket a sorozat tartozó másik felhasználó séma, a felhasználónak rendelkeznie kell a tárgy vagy a SELECT jogosultságot a sorozat, vagy a rendszer kiváltság SELECT tetszőleges sorrendben. és tovább kell jellemezni ezt a szekvenciát, amely tartalmaz a neve rendszer:
CURRVAL értékek és NEXTVAL használjuk a következő helyeken:
- A SELECT listában a SELECT
- A kifejezés ÉRTÉKEK INSERT foglalkozik
- A kifejezés SET UPDATE mondat.
Nem tudja használni az értéket CURRVAL és NEXTVAL az alábbi helyeken:
- a segédlekérdezés
- A SELECT záradék egy külön operátor
- A SELECT záradék a mondat GROUP BY vagy ORDER BY
- A SELECT utasításban. kombinálható más ajánlatot SELECT UNION set üzemeltető
- a WHERE a SELECT
- az alapértelmezett (DEFAULT) oszlop értéke a mondatban CREATE TABLE és ALTER TABLE
- biztosított ellenőrzési megszorítások.
Válasszuk a Sorozat. 3. példa.
Action gyűrűs-szekvenciát _2 elérésében annak értékeit MINVALUE:
SQL> SELECT FROM sequence_2.NEXTVAL dual;
INSERT INTO EMP VALUES (empseq.nextval, 'Lewis', 'CLERK', 7902, SYSDATE, 1200, NULL, 20);
UPDATE EMP SET rszam = empseq.currval WHERE ename = 'Jones'
ALTER SEQUENCE. 6. példa.
Bármely paraméter lehet változtatni a sorrendjét ALTER SEQUENCE parancsot. Az új érték azonnal életbe lép. Minden paraméter a sorozat, hogy nem határozza meg a parancsot ALTER szekvencia változatlan marad:
ALTER SORREND sequence_2
Amikor a sorozat már nincs szükség, el lehet távolítani. Ehhez az adatbázis-kezelő, vagy a tulajdonos a szekvencia kell futtatni a parancsot DROP SEQUENCE. Ennek eredményeként, a virtuális oszlopok NEXVAL szekvenciát és CURRVAL - át mentesítés nem használt. Azonban, ha a sorozat generálásához használt elsődleges kulcs értékek érték marad az adatbázisban. Cascade törölni értékek generált szekvencia nem fordul elő, ha azt eltávolították.
DROP SEQUENCE. 7. példa.
Eltávolítása-szekvenciát: