Semantik
schema
Angiv det skema, der skal indeholde sekvensen. Hvis du udelader schema
, opretter Oracle Database sekvensen i dit eget skema.
sequence
Angiv navnet på den sekvens, der skal oprettes.
Hvis du ikke angiver nogen af de følgende klausuler, opretter du en opadgående sekvens, der starter med 1 og øges med 1 uden nogen øvre grænse. Hvis du kun angiver INCREMENT
BY
-1, oprettes en faldende sekvens, der starter med -1 og falder uden nogen nedre grænse.
-
For at oprette en sekvens, der øges uden begrænsning, for opadgående sekvenser, udelader du parameteren
MAXVALUE
eller angiverNOMAXVALUE
. For nedadgående sekvenser udelader du parameterenMINVALUE
eller angiverNOMINVALUE
. -
For at oprette en sekvens, der stopper ved en foruddefineret grænse, for en opadgående sekvens, skal du angive en værdi for parameteren
MAXVALUE
. For en nedadgående sekvens skal du angive en værdi for parameterenMINVALUE
. Angiv ogsåNOCYCLE
. Ethvert forsøg på at generere et sekvensnummer, når sekvensen har nået sin grænse, resulterer i en fejl. -
For at oprette en sekvens, der starter igen efter at have nået en foruddefineret grænse, skal du angive værdier for både parametrene
MAXVALUE
ogMINVALUE
. Angiv ogsåCYCLE
. Hvis du ikke angiverMINVALUE
, er standardværdienNOMINVALUE
, som er værdien 1.
INCREMENT BY Angiv intervallet mellem sekvensnumrene. Denne heltalsværdi kan være et hvilket som helst positivt eller negativt heltal, men den kan ikke være 0. Denne værdi kan have 28 eller færre cifre. Den absolutte værdi af denne værdi skal være mindre end forskellen mellem MAXVALUE
og MINVALUE
. Hvis denne værdi er negativ, er sekvensen faldende. Hvis værdien er positiv, er sekvensen opadgående. Hvis du udelader denne klausul, er intervallet som standard 1.
START MED Angiv det første sekvensnummer, der skal genereres. Brug denne klausul til at starte en opadgående sekvens ved en værdi, der er større end dens minimum, eller til at starte en nedadgående sekvens ved en værdi, der er mindre end dens maksimum. For opadgående sekvenser er standardværdien den mindste værdi i sekvensen. For nedadgående sekvenser er standardværdien den maksimale værdi for sekvensen. Denne heltalsværdi kan have 28 eller færre cifre.
Bemærk:
Denne værdi er ikke nødvendigvis den værdi, som en opadgående cyklussekvens cykler til efter at have nået sin maksimums- eller minimumsværdi.
MAXVALUE Angiv den maksimale værdi, som sekvensen kan generere. Denne hele talværdi kan have 28 eller færre cifre. MAXVALUE
skal være lig med eller større end START
WITH
og skal være større end MINVALUE
.
NOMAXVALUE Angiv NOMAXVALUE
for at angive en maksimal værdi på 1027 for en opadgående sekvens eller -1 for en nedadgående sekvens. Dette er standardværdien.
MINVALUE Angiv sekvensens mindsteværdi. Denne heltalsværdi kan have 28 eller færre cifre. MINVALUE
skal være mindre end eller lig med START
WITH
og skal være mindre end MAXVALUE
.
NOMINVALUE Angiv NOMINVALUE
for at angive en minimumsværdi på 1 for en opadgående sekvens eller -1026 for en nedadgående sekvens. Dette er standardindstillingen.
CYCLE Angiv CYCLE
for at angive, at sekvensen fortsætter med at generere værdier, efter at den har nået enten sin maksimums- eller minimumsværdi. Når en opadgående sekvens har nået sin maksimumværdi, genererer den sin minimumsværdi. Når en nedadgående sekvens har nået sit minimum, genererer den sin maksimumsværdi.
NOCYCLE Angiv NOCYCLE
for at angive, at sekvensen ikke kan generere flere værdier efter at have nået sin maksimums- eller minimumsværdi. Dette er standardindstillingen.
CACHE Angiv, hvor mange værdier af sekvensen databasen forhåndsallokerer og opbevarer i hukommelsen for at sikre hurtigere adgang. Denne heltalsværdi kan have 28 eller færre cifre. Minimumsværdien for denne parameter er 2. For sekvenser, der er cykliske, skal denne værdi være mindre end antallet af værdier i cyklussen. Du kan ikke gemme flere værdier i cache, end der er plads til i en given cyklus af sekvensnumre. Derfor skal den maksimalt tilladte værdi for CACHE
være mindre end den værdi, der bestemmes ved følgende formel:
(CEIL (MAXVALUE - MINVALUE)) / ABS (INCREMENT)
Hvis der opstår en systemfejl, går alle cachede sekvensværdier, der ikke er blevet brugt i bekræftede DML-angivelser, tabt. Det potentielle antal tabte værdier er lig med værdien af parameteren CACHE
.
Bemærkning:
Oracle anbefaler at bruge indstillingen CACHE
for at forbedre ydeevnen, hvis du bruger sekvenser i et Oracle Real Application Clusters-miljø.
NOCACHE Angiv NOCACHE
for at angive, at værdierne i sekvensen ikke er forhåndsallokeret. Hvis du udelader både CACHE
og NOCACHE
, lagrer databasen som standard 20 sekvensnumre i cache.
ORDER Angiv ORDER
for at garantere, at sekvensnumrene genereres i rækkefølge efter anmodning. Denne klausul er nyttig, hvis du bruger sekvensnumrene som tidsstempler. Det er normalt ikke vigtigt at garantere rækkefølgen for sekvenser, der bruges til at generere primære nøgler.
ORDER
er kun nødvendigt for at garantere ordnet generering, hvis du bruger Oracle Real Application Clusters. Hvis du bruger eksklusiv tilstand, genereres sekvensnumrene altid i rækkefølge.
NOORDER Angiv NOORDER
, hvis du ikke ønsker at garantere, at sekvensnumrene genereres i rækkefølge efter anmodning. Dette er standardindstillingen.