Как вернуть последний первичный ключ вставлен - PullRequest
1 голос
/ 27 июля 2011

Я спрашиваю об альтернативном или похожем запросе в informix, чтобы выполнить следующее:

INSERT INTO days (depcode,studycode,batchnum) values (1,2,3);SELECT SCOPE_IDENTITY();

Я хочу, чтобы запрос возвращал SCOPE_IDENTITY() во время оператора вставки

Ответы [ 2 ]

2 голосов
/ 27 июля 2011

Я знаю, что в t-sql у вас есть оператор OUTPUT?Где [KEY] - это имя столбца вашего первичного ключа, а @OUT_KEY - это переменная, которую нужно объявить

INSERT INTO days
(
  depcode,
  studycode,
  batchnum
)
OUTPUT INSERTED.[KEY] INTO @OUT_KEY
VALUES
(
  1,2,3
)

EDIT

. Для informix вы можете использовать

SELECT DBINFO( 'sqlca.sqlerrd1' )
FROM systables
WHERE tabid = 1;

Предполагается, что ваш столбец pk - SERIAL

0 голосов
/ 27 июля 2011

Я использую этот оператор SQL Select @@Identity после того, как вставил строки.Это дает мне идентификатор последней вставленной строки.Я использую базу данных доступа.Я не знаю, работает ли это с вашей базой данных.

...