Zoeken…


Syntaxis

  • CREATE SEQUENCE SCHEMA.SEQUENCE {VERHOGING DOOR INTEGER | BEGIN MET INTEGER | MAXVALUE INTEGER | NOMAXVALUE INTEGER | MINVALUE INTEGER | NOMINVALUE INTEGER | CYCLUS INTEGER | NOCYCLE INTEGER | CACHE | NOCACHE | BESTELLEN | NOODER}

parameters

Parameter Details
schema schemanaam
ophogen met interval tussen de cijfers
beginnen met eerste nummer nodig
maximum waarde Maximale waarde voor de reeks
nomaxvalue Maximale waarde is standaard
minvalue minimumwaarde voor de reeks
nominvalue minimumwaarde is standaard
fiets Begin opnieuw na het bereiken van deze waarde
nocycle Standaard
cache Preallocatielimiet
nocache Standaard
bestellen Garandeer de volgorde van nummers
geen bestelling standaard

Een reeks maken: voorbeeld

Doel

Gebruik de instructie CREATE SEQUENCE om een reeks te maken. Dit is een databaseobject waaruit meerdere gebruikers unieke gehele getallen kunnen genereren. U kunt sequenties gebruiken om automatisch primaire sleutelwaarden te genereren.

Wanneer een volgnummer wordt gegenereerd, wordt de reeks verhoogd, onafhankelijk van de transactie die wordt uitgevoerd of teruggedraaid. Als twee gebruikers tegelijkertijd dezelfde reeks ophogen, kunnen de volgnummers die elke gebruiker verkrijgt hiaten hebben, omdat volgnummers door de andere gebruiker worden gegenereerd. De ene gebruiker kan nooit het door een andere gebruiker gegenereerde volgnummer verkrijgen. Nadat een reekswaarde door een gebruiker is gegenereerd, kan die gebruiker toegang blijven houden tot die waarde ongeacht of de reeks door een andere gebruiker wordt verhoogd.

Volgnummers worden onafhankelijk van tabellen gegenereerd, dus dezelfde reeks kan voor één of voor meerdere tabellen worden gebruikt. Het is mogelijk dat afzonderlijke volgnummers worden overgeslagen, omdat ze zijn gegenereerd en gebruikt in een transactie die uiteindelijk is teruggedraaid. Bovendien realiseert een enkele gebruiker zich misschien niet dat andere gebruikers dezelfde reeks gebruiken.

Nadat een reeks is gemaakt, hebt u toegang tot de waarden in SQL-instructies met de CURRVAL pseudocolumn, die de huidige waarde van de reeks retourneert, of de NEXTVAL pseudocolumn, die de reeks verhoogt en de nieuwe waarde retourneert.

voorwaarden

Als u een reeks in uw eigen schema wilt maken, moet u de machtiging CREATE SEQUENCE hebben.

Als u een reeks in het schema van een andere gebruiker wilt maken, moet u beschikken over de machtiging CREATE ANY SEQUENCE.

Een reeks maken: Voorbeeld De volgende instructie maakt de reeks klanten_seq in het voorbeeldschema oe. Deze reeks kan worden gebruikt om klant-ID-nummers op te geven wanneer rijen aan de klantentabel worden toegevoegd.

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

De eerste verwijzing naar customers_seq.nextval retourneert 1000. De tweede verwijzing 1001. Elke volgende verwijzing retourneert een waarde 1 die groter is dan de vorige verwijzing.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow