DB2, как получить последний идентификатор вставки из таблицы - PullRequest
18 голосов
/ 21 июня 2010

Я хочу получить значение последней вставки идентификатора в таблицу.Как я могу это сделать?

Ответы [ 4 ]

26 голосов
/ 22 июня 2010

Хорошо, решение, которое я использую:

select id from NEW TABLE (insert into (val1, val2, ...) values ('lorem', 'ipsum', ...))

Получает столбец идентификатора из последней строки, вставленной в БД:)

15 голосов
/ 21 июня 2010
SELECT IDENTITY_VAL_LOCAL() AS VAL FROM SYSIBM.SYSDUMMY1

См. документы .

0 голосов
/ 12 ноября 2014
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()

Обновление: и не забудьте создать readyStatement со следующим флагом Statement.RETURN_GENERATED_KEYS, иначе это не будет работать)))

0 голосов
/ 30 октября 2011

Посмотрите на этот ответ.

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;  
}

ИЛИ

http://www.php.net/manual/en/function.db2-last-insert-id.php#98361

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...