Hvordan få neste sekvens i DB2

Hvordan få neste sekvens i DB2


En sekvens i DB2 er et forhåndsdefinert sett med tall. DB2 kan automatisk generere et sekvensnummer for en kolonne i en database som er definert som en «identitet» -kolonnen. Den opprinnelige verdien, cache størrelse og tilvekst kan spesifiseres når du definerer identitetskolonnen for tabellen. Identitetskolonner er vanligvis definert som en "bigint" datatype, og den neste verdien automatisk generert og satt inn da en "Insert" utføres. En sekvens gir programmereren mer kontroll ved å skape et spesifikt område av tall for sekvensen.

Bruksanvisning

1 Åpne DB2-kommandovinduet skriver "DB2" og trykk "Enter". Dette starter DB2 Kommandolinjebehandler for DB2-klienten, der du kan skrive inn DB2-kommandoer.

2 Koble til databasen ved å skrive "Koble til mydb brukerMittBrukernavn hjelp Mittpassord." Lag sekvensen ved å skrive inn "CREATE REKKEFØLGE" kommandoen i DB2-kommandovinduet. Gi den opprinnelige verdien, økningsverdi, max verdi, minimumsverdi, sykle, cache og orden. Kommandoen skal ligne:

CREATE REKKEFØLGE MYSEQUENCE

START MED 1

ØKNING AV 1

NO MINVALUE

MAXVALUE 9999

SYKLUS

NO CACHE

BESTILLE

3 Referanse sekvensen i en "SETT INN" eller "UPDATE" statement med "Neste Value" eller "Forrige verdi." For å sette inn en ny post i en tabell kalt "kunde" og ta tak i neste ledige nummer i sekvensen definert ovenfor for "customer_number" value, skriv "INSERT INTO kunde (customer_number, customer_name) VALUES (NEXT VALUTA FOR mySequence, 'Joe Smith ') ".

4 Bruk "forrige verdien" for å få tilgang til de sist genererte sekvensnummer. Denne kommandoen kan bare angis hvis det allerede er utstedt et "neste verdi" statement i nåværende eller tidligere transaksjon. For å få den forrige verdien i en "UPDATE" statement, skriv "UPDATE kunde SET customer_number = forrige verdien for mySequence WHERE CUSTOMER_ID = 10."

Hint

  • "CREATE REKKEFØLGE" kan også utstedes fra et program program; men du må ha SYSADM eller DBADM myndighet til å utføre.