Sök…


Syntax

  • SKAPA SEKVENSSKEMA.SEKVENS {ÖKNING AV INTEGER | START MED INTEGER | MAXVALUE INTEGER | NOMAXVALUE INTEGER | MINVALUEINTEGER | NOMINVALUE INTEGER | CYKELINTEGER | NOCYCLE INTEGER | CACHE | NOCACHE | BESTÄLLNING | NOODER}

parametrar

Parameter detaljer
schema schema namn
ökning med intervall mellan siffrorna
börja med första numret behövs
MAXVALUE Maximalvärde för sekvensen
nomaxvalue Maxvärdet är som standard
MINVALUE minimivärde för sekvensen
nominvalue minimivärde är standard
cykel Återställ till början efter att du har nått detta värde
nocycle Standard
cache Förhandsgräns
nocache Standard
beställa Garantera ordningen med siffror
ingen order standard

Skapa en sekvens: exempel

Ändamål

Använd CREATE SEQUENCE-satset för att skapa en sekvens, som är ett databasobjekt från vilket flera användare kan generera unika heltal. Du kan använda sekvenser för att automatiskt generera primära nyckelvärden.

När ett sekvensnummer genereras ökas sekvensen, oberoende av vilken transaktion som begås eller rullar tillbaka. Om två användare samtidigt ökar samma sekvens kan de sekvensnummer som varje användare förvärvar ha luckor, eftersom sekvensnummer genereras av den andra användaren. En användare kan aldrig få sekvensnumret som genereras av en annan användare. Efter att ett sekvensvärde genererats av en användare kan den användaren fortsätta att komma åt det värdet oavsett om sekvensen ökas av en annan användare.

Sekvensnummer genereras oberoende av tabeller, så samma sekvens kan användas för en eller för flera tabeller. Det är möjligt att enskilda sekvensnummer verkar hoppa över, eftersom de genererades och användes i en transaktion som till slut rullade tillbaka. Dessutom kanske en enda användare inte inser att andra användare drar från samma sekvens.

När en sekvens har skapats kan du få åtkomst till dess värden i SQL-satser med CURRVAL-pseudokolumnen, som returnerar det aktuella värdet för sekvensen, eller NEXTVAL-pseudokolumnen, som ökar sekvensen och returnerar det nya värdet.

förutsättningar

För att skapa en sekvens i ditt eget schema måste du ha CREATE SEQUENCE-systembehörighet.

För att skapa en sekvens i en annan användares schema måste du ha CREATE ANY SEQUENCE-systembehörighet.

Skapa en sekvens: Exempel Följande uttalande skapar sekvensen clients_seq i exempelschemat oe. Denna sekvens kan användas för att tillhandahålla kund-ID-nummer när rader läggs till i kundtabellen.

CREATE SEQUENCE customers_seq
START WITH     1000
INCREMENT BY   1
NOCACHE
NOCYCLE;

Den första referensen till customer_seq.nextval returnerar 1000. Den andra returnerar 1001. Varje efterföljande referens kommer att returnera ett värde 1 större än föregående referens.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow