2010-06-21 15 views

Odpowiedz

19

Dobrze rozwiązanie, które używam to:

To dostaje kolumnę id z ostatniego rzędu włożonej w DB :)

+2

Aby uzyskać więcej informacji na temat tego podejścia, zobacz dokumentację na wyciągu [SELECT from INSERT] (http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/index.jsp?topic=%2Fcom.ibm.db2.doc.relg%2Finsl.htm) – Steven

+1

Tragedia . Ta dokumentacja "WYBIERZ z WSTAWU" zmieniła lokalizację lub stała się niedostępna. – starlocke

+2

Sprawdź sekcję * Wybieranie wprowadzonych wartości * w podręczniku DB2 SQL Programming Guide. Przykład z mojego przewodnika to: "WYBIERZ EMPNO, HIRETYPE, HIREDATE Z KOŃCOWEGO TABELA (WSTAW NA EMPSAMP (NAZWA, WYNAGRODZENIE, DEPTNO, POZIOM) WARTOŚCI (" Mary Smith ", 35000,00, 11," Współpracuj "))' – Telemat

13
SELECT IDENTITY_VAL_LOCAL() AS VAL FROM SYSIBM.SYSDUMMY1 

Zobacz docs.

+0

SYSDUMMY1? Nie mogę znaleźć tego stołu w schemacie sysibm ... :) –

+0

Czy jesteś ironiczny? Zobacz 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()

Aktualizacja: i nie zapomnij, aby utworzyć PreparedStatement z następującą flagą Statement.RETURN_GENERATED_KEYS inaczej nie zadziała)))

+0

Uhmmm ... Oracle! = DB2 – barrypicker

+0

To jest samouczek do java, a nie Oracle – Anatoly

+0

Wtedy w ogóle nie odpowiadasz na pytanie OP. – barrypicker

Powiązane problemy