2016-08-30 3 views
2

Я пытаюсь получить идентификатор последней вставленной записи, чтобы использовать ее в следующем заявлении. Первоначальный запрос вставки, как это:Использование идентификатора последней вставленной строки в инструкции (Derby)

insert into app.customer(cust_name, pass) values ('tester', '123123'); 

Но когда я использую IDENTITY_VAL_LOCAL():

select IDENTITY_VAL_LOCAL() from app.customer; 

по какой-то причине я получаю 9 повторяющихся строк в результате, что сбивает с толку. Мне нужен идентификатор добавленного клиента, поэтому я могу использовать его в новом запросе сразу после этого.

insert into app.coupon_customer(coup_id, cust_id) values(coupon_id_value, customer_id_value) 

Возможно ли комбинировать запрос вставки с помощью функции IDENTITY_VAL_LOCAL()?

ответ

2

Не в Дерпи эксперта, но вы не можете сделать:

insert into app.coupon_customer(coup_id, cust_id) 
values(coupon_id_value, IDENTITY_VAL_LOCAL()) 

Если вы:

select IDENTITY_VAL_LOCAL() from app.customer; 

вы просто выбрать последний вставленной идентификатор для каждой строки в app.customer. Итак, да, это дает вам 9 повторяющихся строк, если app.customer содержит 9 строк.

+0

Да, я просто запутался в этом вопросе выбора, ваш код работал для меня хорошо. –

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