Plsql 如何在HSQL DB中创建列的最大行值序列?

Plsql 如何在HSQL DB中创建列的最大行值序列?,plsql,hsqldb,Plsql,Hsqldb,我需要创建一个从HSQL中列的最大行值开始的序列。我们有什么程序可以纠正吗 创建序列seq START以1递增1=>效果良好 相反,如果我像这样给予 创建序列seq START,从测试增量中选择MAXID 1 显示错误:意外标记:选择/错误代码:-5581/状态:42581我不确定我是否正确理解您的问题,但在H2中您可以使用 以9223372036854775807的增量-1创建序列SEQ START 它将返回值9223372036854775807、9223372036854775806、92

我需要创建一个从HSQL中列的最大行值开始的序列。我们有什么程序可以纠正吗

创建序列seq START以1递增1=>效果良好

相反,如果我像这样给予 创建序列seq START,从测试增量中选择MAXID 1


显示错误:意外标记:选择/错误代码:-5581/状态:42581

我不确定我是否正确理解您的问题,但在H2中您可以使用

以9223372036854775807的增量-1创建序列SEQ START 它将返回值9223372036854775807、9223372036854775806、9223372036854775805、

在HSQLDB中,可以使用非常类似的

创建序列序列以2147483647递增-1开始 对于无法容纳如此大值的列,应减小初始值

如果您有一个包含现有值的some表,并且希望找到其中最大的值并将其用作序列的起始值,那么在H2中,您可以直接使用子查询:

从tableName中选择MAXcolumnName开始创建序列SEQ 您可能希望在查询结果中添加1。 我不知道如何在HSQLDB中只使用SQL来实现这一点


也许你的意思是其他的,你肯定应该编辑你的问题并提供更多细节。

如果你不使用Liquibase创建此项,那么为什么你要使用Liquibase标记?实际上,在知道查询后,我也必须在Liquibase中创建它