我有一个很长的 sql 语句,带有 java derby 数据库,我应该想为用户提供一个“取消”的东西。但我得到:
Caused by: java.sql.SQLException: Feature not implemented: cancel.
at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)
那么我怎样才能用 derby 做类似的事情呢?
谢谢。
编辑 1
我的请求中没有下一个循环;这是我的大 sql 调用:
"DELETE FROM TABLE "
+ "WHERE "
+ "REF_TICKET IN
+ "(SELECT NTICKET FROM OTHER_TABLE WHERE "
+ "REF_OPEN IN
+ (SELECT OPEN FROM AGAIN_ANOTHER_TABLE WHERE "
+ "{fn TIMESTAMPDIFF( SQL_TSI_DAY, TIMECLOSE, CURRENT_DATE)} > 365))");
所以这一切都在一个声明中。
最佳答案
通常不是 ExecuteQuery() 调用花费很长时间,而是运行很长时间的 ResultSet.next() 循环,获取所有行。因此,只需在您的行获取循环中检查用户的取消请求,比如说,每隔一百行左右。
关于java - 如何用 Derby 取消声明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18300498/