CREATE SEQUENCE

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 angiver NOMAXVALUE. For nedadgående sekvenser udelader du parameteren MINVALUE eller angiver NOMINVALUE.

  • 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 parameteren MINVALUE. 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 og MINVALUE. Angiv også CYCLE. Hvis du ikke angiver MINVALUE, er standardværdien NOMINVALUE, 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.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.