使用语句中最后插入的行的 ID (Derby)

Using ID of the last inserted row in a statement (Derby)

我正在尝试获取最后插入的记录的 ID,以便在进一步的语句中使用它。初始插入查询是这样的:

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

但是当我使用 IDENTITY_VAL_LOCAL():

select IDENTITY_VAL_LOCAL() from app.customer;

出于某种原因,我得到了 9 行重复的结果,这令人困惑。 我需要添加的客户的 ID,以便之后我可以在新查询中使用它。

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

是否可以将插入查询与 IDENTITY_VAL_LOCAL() 函数结合使用?

不是笨蛋专家但你做不到:

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 中的每一行选择最后插入的 ID。 所以是的,如果 app.customer 包含 9 行,那么就会有 9 行重复。