derby 语法错误:遇到 EOF Next Value 序列

Posted

技术标签:

【中文标题】derby 语法错误:遇到 EOF Next Value 序列【英文标题】:derby Syntax error: Encountered EOF Next Value sequence 【发布时间】:2016-06-27 08:50:47 【问题描述】:

使用嵌入式数据库 derby 版本 10.12.1.1。 我已经成功创建了一个序列,如下所示

CREATE SEQUENCE BUCKET_SEQ AS BIGINT START WITH 1000;

但是当尝试使用

获取下一个值时

为 BUCKET_SEQ 选择下一个值

遇到以下错误:

Syntax error: Encountered "<EOF>" at line 1, column 40.

请提出任何建议。

【问题讨论】:

【参考方案1】:

你必须从某个东西SELECT,而这个东西必须是某种表格。

最简单的做法是使用 SQL VALUES 关键字,它会为您创建一个(未命名的、临时的)表。

然后你给表格一个名字,给表格的列一个名字,然后从中选择值:

select t from ( values next value for bucket_seq ) s( t);
T
--------------------
1000

还有其他可能的语法形式,但这是一种您可以使用的简单形式。

【讨论】:

以上是关于derby 语法错误:遇到 EOF Next Value 序列的主要内容,如果未能解决你的问题,请参考以下文章

Derby 和 Circumflex ORM 的 SQL 语法错误

使用 R 错误从 BigQuery 读取数据时出现语法错误:在第 1 行第 10 列遇到“FROM”“FROM”。期待:<EOF>

语法错误:遇到“ “第1栏第16栏

语法错误:“)”在此位置无效,需要 EOF ,';'

SQL 编译错误:位置 157 的语法错误第 5 行意外'<EOF>'

语法错误:反引号替换中的 EOF