Hvordan sette en Sequence Neste Value i Oracle

Hvordan sette en Sequence Neste Value i Oracle


Programmerere kan lage unike primærnøkler for en tabell i en Oracle-database ved å sette inn en sekvens inn i databasen og tildele nøkkelen bruker NEXTVAL pseudeocolumn. NEXTVAL henter neste nummer av en forhåndsdefinert sekvens. Sekvenser er databaseobjekter som brukes til å generere unike sekvensielle tall. Brukere eller programmerere må ha privilegier i skjemaet der sekvensene er lagret for å kunne bruke dem. Tall i en sekvens kan bare brukes en gang.

Bruksanvisning

Bruke NEXTVAL å hente det neste sekvensielle nummeret

1 Åpne PL / SQL-editor eller lagret prosedyre program editor. Deretter åpner et eksisterende program eller starte et nytt program.

2 Få navnet på sekvensen som skal brukes i SQL-setningen. Skriv inn og utføre følgende spørring på kommandolinjen:

SELECT *
Fra USER_SEQUENCES;

Spørringen skal returnere navnet på hver sekvens tilgjengelig for brukeren i skjemaet, oppføring minimums- og maksimumsverdier for hver.

3 Bruk NEXTVAL pseudocolumn å returnere verdien av det neste sekvensielle nummeret. Verdien kan nås i en PL / SQL blokk ved hjelp av et innstikk, oppdatere eller velg uttalelse, som i følgende:

UPDATE ANSATT
SET empid = emp_Id_seq.NEXTVAL
HVOR empid = "101400";

eller

VELG emp_id_seq.NEXTVAL FRA DUAL;

eller

INSERT INTO ANSATTE (empid)
VERDIER (emp_id_seq.NEXTVAL)

Når antallet er generert, er det bare tilgjengelig for brukeren for den aktuelle databasen økten.

4 Bruk currval pseudocolumn å vise verdien for den sist brukte sekvensnummer ved å skrive inn følgende kode:

VELG emp_id_seq.NEXTVAL FRA DUAL;

Hint

  • NEXTVAL vil øke uavhengig av om sekvensen er begått eller rulles tilbake. I tillegg kan NEXTVAL sekvenser ikke brukes i en delspørring, vise spørring, SELECT DISTINCT uttalelser, SELECT GROUP BY eller ORDER BY uttalelser, forening, eller ALTER TABLE uttalelser.
  • NEXTVAL sekvens generator må kjøre før currval søket.