Chcę uzyskać wartość ostatniego wstawienia identyfikatora w tabeli. Jak mogę to zrobić?DB2, jak uzyskać ostatni identyfikator wkładki z tabeli
Odpowiedz
Dobrze rozwiązanie, które używam to:
To dostaje kolumnę id z ostatniego rzędu włożonej w DB :)
SELECT IDENTITY_VAL_LOCAL() AS VAL FROM SYSIBM.SYSDUMMY1
Zobacz docs.
SYSDUMMY1? Nie mogę znaleźć tego stołu w schemacie sysibm ... :) –
Czy jesteś ironiczny? Zobacz http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.sql.ref.doc/doc/r0002369.html –
przyjrzeć się tej odpowiedzi.
http://www.sitepoint.com/php-database-db2/
// get the last inserted ID into the specified table
// int lastInsertID(string $tblName)
function lastInsertID($tblName)
{
if ($this->transIsOpen())
{
$sql = "SELECT SYSIBM.IDENTITY_VAL_LOCAL() AS id FROM " . $tblName;
$rs = $this->query($sql);
return $this->fetch($rs, "id");
}
return -1;
}
LUB ten
http://www.php.net/manual/en/function.db2-last-insert-id.php#98361
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)))
Uhmmm ... Oracle! = DB2 – barrypicker
To jest samouczek do java, a nie Oracle – Anatoly
Wtedy w ogóle nie odpowiadasz na pytanie OP. – barrypicker
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
Tragedia . Ta dokumentacja "WYBIERZ z WSTAWU" zmieniła lokalizację lub stała się niedostępna. – starlocke
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