如何在addBatch()中添加SELECT语句?

时间:2014-07-04 15:23:58

标签: java jdbc

您好我正在尝试使用statement.addBatch(sql)批量执行几个查询现在我发现如果查询是SELECT BLAH BLAH那么它会抛出异常说BatchUpdateExecption那么我该如何添加批处理中的SELECT语句。对于例如以下不起作用,因为批处理包含SELECT语句

st.addBatch("UPDATE")
st.addBatch("CREATE")
st.addBatch("SELECT")
st.executeBatch()

我可以在st.execute("SELECT")而不是st.addBatch("SELECT")中执行SELECT语句。这个用例有任何推荐的方法或最佳实践吗?请提前指导谢谢。

2 个答案:

答案 0 :(得分:3)

批处理语句基本上适用于INSERTUPDATEDELETE语句,它们不适用于SELECT语句或DDL语句。如果要执行SELECT语句,请在另一个不执行批处理语句的StatementPreparedStatement中执行。

答案 1 :(得分:1)

即使是javadoc也说:通常addBatch是SQL INSERTUPDATE语句。它不适用于SELECT语句。Refer addBatch(String sql)

此外,无法在PreparedStatement或CallableStatement上调用addBatch(java.lang.String)方法,但addBatch()支持PreparedStatement。

相关问题