首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VOLTDB错误:用户中止

VOLTDB错误:用户中止
EN

Stack Overflow用户
提问于 2015-03-17 12:34:02
回答 1查看 221关注 0票数 0

我使用voltdb-5.0.2并启动数据库作为voltdb创建

我已经在voltdb.The过程中从java类加载了一个过程-- tableName、columnName和整数值。

这是sqlcmd行上的错误-当我将过程调用为- exec CheckDeleteProcedure arg1(NewTable) arg2 arg3时。

checkdel.CheckDeleteProcedure.run(CheckDeleteProcedure.java:56)上的只读过程中的VOLTDB错误:用户中止尝试将DML临时删除从NewTable那里删除<=?

EN

回答 1

Stack Overflow用户

发布于 2015-03-18 16:08:32

谢谢你增加了这个细节。

voltQueueExperimental()方法是一个不受支持的实验性特性。

该过程在编译时被归类为只读,因为它不包含任何涉及写入的编译时常量SQLStmt对象。在运行时,您将得到此错误,因为只读过程不允许执行任何写入操作。涉及写入的过程处理方式不同(两阶段提交等)。

您可以从客户端接口将此DELETE语句作为Ad查询运行。

另一个选项是为每个表声明单独的SQLStmt对象,如果您希望这个过程处理的表数量不多。就使SQLStmt的编译时常量而言,这是可以的:

代码语言:javascript
复制
final String sql1 = "DELETE FROM ";
final String sql2 = " WHERE col1 <= ?;";
final SQLStmt qry1 = new SQLStmt(sql1 + "EMPLOYEE" + sql2);
final SQLStmt qry2 = new SQLStmt(sql1 + "DEPT" + sql2);

我也要提醒你,不要一次删除许多记录。我写了一个博客帖子来讨论这个话题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29099212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档