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.