2013-08-02 3 views
0

Как я могу получить последний вставленный идентификатор из инструкции SQL в Informix. Я знаю о DBINFO, но как получить SQL как «вставить в значения_таблицы (значения)» для возврата последнего вставленного идентификатора?Получение последнего вставленного id из самого SQL в Informix

+0

Добро пожаловать в переполнение стека. Вскоре прочитайте страницу [О программе]. Не используйте аббревиатуры типа «knw abt»; используйте полные английские слова. –

ответ

3

Какой язык хоста?

Информация о значении, созданном для столбца SERIAL, находится в SQLCA (SQL Communications Area). Информацию о значении, созданном для столбца BIGSERIAL, можно получить через вызов функции. Информация о значении, созданном для столбца SERIAL8, доступна через другой вызов функции. Тем не менее, детали отличаются между ESQL/C и ODBC и JDBC и ... Если у вас есть как SERIAL, так и SERIAL8 или BIGSERIAL, вы можете найти как много информации (но возникнут вопросы о том, почему у вас есть оба типа в одна таблица).

Вопрос Informix: how to get an id of the last inserted record содержит аналогичную информацию (и благодаря seekerOfKnowledge для его нахождения).

+0

Привет, Джонатан, Спасибо за это и жалею, что не использовали полные английские слова. теперь я возвращаю последний вставленный серийный идентификатор из самого sql. Например, если у вас есть sql для вставки записи в таблицу, и если в этой таблице есть последовательный столбец, как заставить его возвращать последний вставленный серийный идентификатор? пример sql был бы полезен. Спасибо –

+0

Мой начальный вопрос стоит - на каком языке? И SQL не является ответом; SPL может быть. –

0

Это похоже на работу, если вы хотите строго SQL.

выберите табетический ОТ "Informix" .systables , где TABNAME = 'sm_job_cost' /* 607 */

ВЫБОР DBINFO ('sqlca.sqlerrd1') ОТ SYSTABLES ГДЕ табетический = 607; /* 0 */

вставки в sm_job_cost (smjc_jb_prodlnk, smjc_prft_ctr) значения (1, 2)

ВЫБОР DBINFO ('sqlca.sqlerrd1') ОТ SYSTABLES ГДЕ табетический = 607; /* 1 */

Смежные вопросы