我正在使用hsqldb-1.8.0.10
,我想使用序列功能。我从jar文件中启动DatabaseManager
,如下所示:
java -cp lib/hsqldb.jar org.hsqldb.util.DatabaseManager
我运行这些请求:
CREATE TABLE test (ID bigint)
CREATE SEQUENCE seq START WITH 1 INCREMENT BY 1
SELECT NEXT VALUE FOR seq FROM test
没有输出。如果我在表格中插入一些行,它可以正常工作并显示1
。
这是正常的比赛吗?有没有办法用空表获取值?
答案 0 :(得分:1)
是的,这很正常。下面的语句为表的每一行返回一行。在SELECT和FROM之间放置什么并不重要(聚合函数除外)。
SELECT <anything you put here> FROM test
NEXT VALUE FOR seq
就像一个函数,每次调用它时都会返回下一个值。
如果您不必使用1.8.0版,请使用最新版本的HSQLDB,因为它支持更广泛的语法。