Sarà necessario creare un campo di incremento automatico con l'oggetto sequenza (questo oggetto genera una sequenza numerica).
utilizzare la seguente sintassi CREATE SEQUENCE:
CREATE SEQUENCE seq_person
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10
Il codice precedente crea un oggetto sequenza denominata seq_person, che inizia con 1 e incrementerà di 1. Sarà anche cache fino a 10 valori per le prestazioni. L'opzione cache specifica quanti valori di sequenza saranno archiviati in memoria per un accesso più rapido.
Per inserire un nuovo record nella tabella "Persone", dovremo usare la funzione nextval (questa funzione recupera il valore successivo da sequenza seq_person):
INSERT INTO Persons (P_Id,FirstName,LastName)
VALUES (seq_person.nextval,'Lars','Monsen')
L'istruzione SQL sopra sarebbe inserire un nuovo record nella tabella "Persone". Alla colonna "P_Id" verrebbe assegnato il numero successivo dalla sequenza seq_person. La colonna "FirstName" sarebbe stata impostata su "Lars" e la colonna "LastName" sarebbe stata impostata su "Monsen".
Grazie Ian. Questo è dove ho iniziato. Non sono sicuro del perché, ma per qualsiasi motivo la parte "SEMPRE SEMPRE" di questa query non viene riconosciuta. Ottengo l'errore mancante giusto parens ... un indicatore non è ricodificare le parole chiave. – Matt
Quale versione di DB2 è in esecuzione e su quale piattaforma? –
Ti manca una virgola ('','') dopo la dichiarazione della sequenza di identità, ma altrimenti funziona sulla _my_ implementazione DB2 (non ho attivato l'inserimento nel journal, tuttavia, quindi non posso dichiarare la chiave primaria al momento). –