我的意思是我有一个程序可以批量执行100k的插入。从插入序列中为每个插入分配一个新ID。我想保留批处理过程有明显的原因,但我还需要在创建它时拉出每个ID并在继续下一个插入之前用它做一些事情。有没有办法做到这一点?
答案 0 :(得分:0)
PostgreSQL中的东西与MySQL不同。首先,您必须将插入内容写为:
INSERT INTO foo (...) VALUES (...)
RETURNING id;
RETURNING id
很重要,因为它告诉insert语句返回一些东西。然后你应该能够将id作为你期望从select语句中获得的内容。
我不太确定PostgreSQl的JDBC驱动程序如何实现批处理。如果必须,您可以修改它以将id存储在临时表中或您可以从中查询的内容。