Java 在single Spring JDBC Update中从多个查询检索生成的密钥

Java 在single Spring JDBC Update中从多个查询检索生成的密钥,java,sql,postgresql,jdbc,sql-insert,Java,Sql,Postgresql,Jdbc,Sql Insert,我使用一个SpringJDBC更新来更新我的Postgres数据库中的两个表。我的SQL查询如下: UPDATE accounts SET last_transaction_amount = :transaction_amount WHERE acct_num = :acct_num; INSERT INTO transactions (transaction_amout) VALUES (:transaction_amount); 使用NamedParameterJdbcTemplate#u

我使用一个SpringJDBC更新来更新我的Postgres数据库中的两个表。我的SQL查询如下:

UPDATE accounts SET last_transaction_amount = :transaction_amount WHERE acct_num = :acct_num; INSERT INTO transactions (transaction_amout) VALUES (:transaction_amount);
使用
NamedParameterJdbcTemplate#update
,执行此查询并获得预期结果没有问题

transactions
表生成一个顺序事务标识符,我想将其返回给我的应用程序

我已尝试在
更新
调用中传递
生成的keyholder
。这将返回错误“当没有预期结果时返回了结果”

我已尝试传递
生成的keyholder
和列名数组(
新字符串[]{“transaction\u id”}
)。这将返回列不存在的错误。注意:当我只传递
INSERT
查询而没有前面的
UPDATE
查询时,此方法调用可以返回事务id


如何检索生成的密钥?谢谢大家!

您似乎在寻找
RETURNING
子句。假设序列号被称为
transaction\u id

INSERT INTO transactions (transaction_amout) 
VALUES (:transaction_amount)
RETURNING transaction_id;

您似乎在寻找
RETURNING
子句。假设序列号被称为
transaction\u id

INSERT INTO transactions (transaction_amout) 
VALUES (:transaction_amount)
RETURNING transaction_id;

这不会更改
update
调用的行为。这不会更改
update
调用的行为。