Come ottenere la sequenza successiva in DB2

January 1

Come ottenere la sequenza successiva in DB2


Una sequenza in DB2 è un insieme predefinito di numeri. DB2 può generare automaticamente un numero sequenziale per una colonna in un database che viene definita come una colonna di "identità". Il valore iniziale, la dimensione della cache e l'incremento possono essere specificati quando si definisce la colonna di identità per la tabella. colonne di identità sono solitamente definiti come tipo di dati "BigInt", e il valore successivo viene generato e inserito quando viene eseguito un "INSERT" automaticamente. Una sequenza dà al programmatore maggiore controllo creando una specifica gamma di numeri di sequenza.

istruzione

1 Aprire la finestra, digitare "DB2" DB2 Command e premere "Invio". Ciò avvia il processore riga comandi DB2 per il Cliente DB2, in cui è possibile inserire i comandi DB2.

2 Connettersi al database digitando "Connect to myDB MyUserName utente utilizzando MyPassword." Creare la sequenza inserendo il comando "CREATE SEQUENCE" nella finestra di comando DB2. Fornire il valore iniziale, il valore di incremento, valore massimo, valore minimo, ciclo, cache e ordine. Il comando dovrebbe essere simile a:

CREATE SEQUENZA MYSEQUENCE

Iniziare con 1

Incrementa di 1

NO MINVALUE

MAXVALUE 9999

CICLO

NO CACHE

ORDINE

3 Fare riferimento alla sequenza in un "INSERT" o "UPDATE" dichiarazione con "Next Value" o "valore precedente." Per inserire un nuovo record in una tabella denominata "cliente" e afferrare il prossimo numero disponibile nella sequenza sopra definito per il valore "NUM_CLIENTE", inserire "INSERT INTO clienti (NUM_CLIENTE, CUSTOMER_NAME) VALORI (NEXT VALUE FOR mySequence, 'Joe Smith '). "

4 Utilizzare "valore precedente" per accedere al numero di sequenza generato più di recente. Questo comando può essere specificato solo se una dichiarazione "valore successivo" è già stato rilasciato all'interno della transazione corrente o precedente. Per ottenere il valore precedente in un comunicato "UPDATE", inserire "UPDATE cliente SET NUM_CLIENTE = valore precedente per mySequence DOVE customer_id = 10."

Consigli e avvertenze

  • "CREATE SEQUENCE" può anche essere rilasciato da un programma applicativo; tuttavia, è necessario avere SYSADM o DBADM per l'esecuzione.