CREATE SEQUENCE

Semantik

schema

Ange det schema som ska innehålla sekvensen. Om du utelämnar schema skapar Oracle Database sekvensen i ditt eget schema.

sequence

Ange namnet på sekvensen som ska skapas.

Om du inte anger någon av följande klausuler skapar du en stigande sekvens som börjar med 1 och ökar med 1 utan övre gräns. Om du endast anger INCREMENT BY -1 skapas en fallande sekvens som börjar med -1 och minskar utan någon nedre gräns.

  • Om du vill skapa en sekvens som ökar utan begränsning, för stigande sekvenser, utelämnar du parametern MAXVALUE eller anger NOMAXVALUE. För fallande sekvenser utelämnar du parametern MINVALUE eller anger NOMINVALUE.

  • För att skapa en sekvens som stannar vid en fördefinierad gräns, för en stigande sekvens, anger du ett värde för parametern MAXVALUE. För en nedåtgående sekvens anger du ett värde för parametern MINVALUE. Ange även NOCYCLE. Varje försök att generera ett sekvensnummer när sekvensen har nått sin gräns resulterar i ett fel.

  • För att skapa en sekvens som startar igen efter att ha nått en fördefinierad gräns anger du värden för både parametrarna MAXVALUE och MINVALUE. Ange även CYCLE. Om du inte anger MINVALUE är standardvärdet NOMINVALUE, vilket är värdet 1.

INCREMENT BY Ange intervallet mellan sekvensnumren. Detta heltalsvärde kan vara vilket positivt eller negativt heltal som helst, men det kan inte vara 0. Värdet kan ha 28 eller färre siffror. Absolutvärdet måste vara mindre än skillnaden mellan MAXVALUE och MINVALUE. Om detta värde är negativt är sekvensen nedåtgående. Om värdet är positivt är sekvensen stigande. Om du utelämnar den här klausulen är intervallet som standard 1.

START WITH Ange det första sekvensnumret som ska genereras. Använd den här klausulen för att starta en stigande sekvens vid ett värde som är större än dess minimum eller för att starta en fallande sekvens vid ett värde som är mindre än dess maximum. För stigande sekvenser är standardvärdet det lägsta värdet i sekvensen. För fallande sekvenser är standardvärdet det högsta värdet för sekvensen. Detta heltalsvärde kan ha 28 eller färre siffror.

Anmärkningar:

Detta värde är inte nödvändigtvis det värde som en stigande cykelsekvens cyklar till efter att ha nått sitt maximi- eller minimivärde.

MAXVALUE Ange det maximala värdet som sekvensen kan generera. Detta heltalsvärde kan ha 28 eller färre siffror. MAXVALUE måste vara lika med eller större än START WITH och måste vara större än MINVALUE.

NOMAXVALUE Ange NOMAXVALUE för att ange ett maximalt värde på 1027 för en uppåtgående sekvens eller -1 för en nedåtgående sekvens. Detta är standardvärdet.

MINVALUE Ange det lägsta värdet för sekvensen. Detta heltalsvärde kan ha 28 eller färre siffror. MINVALUE måste vara mindre än eller lika med START WITH och måste vara mindre än MAXVALUE.

NOMINVALUE Ange NOMINVALUE för att ange ett minimivärde på 1 för en stigande sekvens eller -1026 för en fallande sekvens. Detta är standardvärdet.

CYCLE Ange CYCLE för att ange att sekvensen fortsätter att generera värden efter att ha nått antingen sitt högsta eller lägsta värde. När en stigande sekvens har nått sitt maximala värde genererar den sitt minimivärde. När en nedåtgående sekvens har nått sitt lägsta värde genererar den sitt högsta värde.

NOCYCLE Ange NOCYCLE för att ange att sekvensen inte kan generera fler värden efter att ha nått sitt högsta eller lägsta värde. Detta är standardinställningen.

CACHE Ange hur många värden för sekvensen som databasen förallokerar och behåller i minnet för snabbare åtkomst. Det här heltalsvärdet kan ha 28 eller färre siffror. Minsta värde för den här parametern är 2. För sekvenser som cyklar måste det här värdet vara mindre än antalet värden i cykeln. Du kan inte lagra fler värden i cacheminnet än vad som ryms i en viss cykel av sekvensnummer. Därför måste det högsta tillåtna värdet för CACHE vara mindre än det värde som bestäms av följande formel:

(CEIL (MAXVALUE - MINVALUE)) / ABS (INCREMENT)

Om ett systemfel inträffar förloras alla cachade sekvensvärden som inte har använts i DML-meddelanden. Det potentiella antalet förlorade värden är lika med värdet på parametern CACHE.

Anmärkning:

Oracle rekommenderar att du använder inställningen CACHE för att förbättra prestandan om du använder sekvenser i en Oracle Real Application Clusters-miljö.

NOCACHE Ange NOCACHE för att indikera att sekvensens värden inte är förallokerade. Om du utelämnar både CACHE och NOCACHE cacher databasen 20 sekvensnummer som standard.

ORDER Ange ORDER för att garantera att sekvensnummer genereras i den ordning de begärs. Den här klausulen är användbar om du använder sekvensnumren som tidsstämplar. Att garantera ordningen är vanligtvis inte viktigt för sekvenser som används för att generera primära nycklar.

ORDER är endast nödvändigt för att garantera ordnad generering om du använder Oracle Real Application Clusters. Om du använder exklusivt läge genereras sekvensnummer alltid i ordning.

NOORDER Ange NOORDER om du inte vill garantera att sekvensnummer genereras i den ordning som begärs. Detta är standardvärdet.

Lämna ett svar

Din e-postadress kommer inte publiceras.