Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以在批处理过程中运行java命令?_Java_Postgresql_Batch Processing_Bulkinsert_Sql Insert - Fatal编程技术网

是否可以在批处理过程中运行java命令?

是否可以在批处理过程中运行java命令?,java,postgresql,batch-processing,bulkinsert,sql-insert,Java,Postgresql,Batch Processing,Bulkinsert,Sql Insert,我的意思是,我有一个程序,可以批量执行100k的插入。这些插入中的每一个都从插入时的序列中分配了一个新ID。出于显而易见的原因,我希望保留批处理过程,但我还需要在创建每个ID时将其拉出,并在继续下一次插入之前对其进行处理。有办法做到这一点吗?PostgreSQL中的工作方式与MySQL不同。首先,您必须将插入内容写为: INSERT INTO foo (...) VALUES (...) RETURNING id; 返回id很重要,因为它告诉insert语句返回某些内容。然后,您应该能够从se

我的意思是,我有一个程序,可以批量执行100k的插入。这些插入中的每一个都从插入时的序列中分配了一个新ID。出于显而易见的原因,我希望保留批处理过程,但我还需要在创建每个ID时将其拉出,并在继续下一次插入之前对其进行处理。有办法做到这一点吗?

PostgreSQL中的工作方式与MySQL不同。首先,您必须将插入内容写为:

INSERT INTO foo (...) VALUES (...)
RETURNING id;
返回id
很重要,因为它告诉insert语句返回某些内容。然后,您应该能够从select语句中收回id


不过,我不太清楚PostgreSQl的JDBC驱动程序是如何实现批处理的。如果必须这样做,您可能会修改它,将id存储在临时表中,或者以后可以从中查询。

对PostgreSQL不是很了解,但是您准备的语句有没有办法返回密钥?我正在使用一个带有Jdbc连接的MySQL数据库,语法是
PreparedStatement pstmt=JdbcDB.getConnection().prepareStatement(“SQL转到这里”,Statement.RETURN\u生成的\u键)
重要的部分是
语句。返回\u生成的\u键
。注意
JdbcDB
只是我创建的一个包装类
getConnection()
返回一个
java.sql.Connection
。这确实有点帮助,我没有意识到这是一个选项,我一直在寻找它。然而,即使它返回键,在批处理过程进入下一个之前,我是否有办法在java中使用该键进行操作?