2010-06-21 16 views

risposta

19

Bene la soluzione che uso è:

questo diventa la colonna id dall'ultima riga inserita nel DB :)

+2

Per ulteriori informazioni su questo approccio, consultare la documentazione in [SELECT da INSERT statement] (http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2.doc.relg%2Finsl.htm) – Steven

+1

Tragedia . Quella documentazione "SELECT from INSERT" cambiava posizione o diventava non disponibile. – starlocke

+2

Controllare la sezione * Selezione dei valori inseriti * nella Guida alla programmazione DB2 SQL. Un esempio dalla mia guida è 'SELEZIONA EMPNO, HIRETYPE, HIREDATE DA TAVOLO FINALE (INSERT INTO EMPSAMP (NOME, STIP, DEPTNO, LEVEL) VALORI ('Mary Smith', 35000.00, 11, 'associato'))' – Telemat

13
SELECT IDENTITY_VAL_LOCAL() AS VAL FROM SYSIBM.SYSDUMMY1 

Vedere docs.

+0

SYSDUMMY1? non riesco a trovare quella tabella nello schema sysibm ... :) –

+0

Sei ironico? Vedere http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.sql.ref.doc/doc/r0002369.html –

0
int keyId = -1; 
preparedStatement.executeUpdate(); 
resultSet = preparedStatement.getGeneratedKeys(); 
if (resultSet.next()) { 
    keyId = rs.getInt(1); 
} 

https://docs.oracle.com/javase/7/docs/api/java/sql/Statement.html#getGeneratedKeys()

Update: e non dimenticate di creare PreparedStatement con il seguente bandierina Statement.RETURN_GENERATED_KEYS altrimenti non funzionerà)))

+0

Uhmmm ... Oracle! = DB2 – barrypicker

+0

È tutorial per java not Oracle – Anatoly

+0

Quindi non stai affrontando affatto la domanda dell'OP. – barrypicker

Problemi correlati