获取 HSQLDB 中自动增量变量的值

  • 本文关键字:变量 HSQLDB 获取 sql hsqldb
  • 更新时间 :
  • 英文 :


我有一个自动递增其主键的表。如何在 HSQLDB 中使用 SQL 返回此值当前是什么?

我找到了这个答案,但它没有完整解释如何从特定表中获取它。

如果主键列声明为 IDENTITY,那么我看不到获取当前值的方法,除了按照另一个答案中的描述调用 IDENTITY(),它没有给出特定表的答案。

另一种方法是创建主键列以使用特定的序列生成器而不是 IDENTITY。 然后,您可以从INFORMATION_SCHEMA.SEQUENCE表中选择序列的当前值。

下面的示例显示了其工作原理。

create sequence test_seq;
create table test (
    id integer generated by default as sequence test_seq,
    value varchar(10));
insert into test (value) values ('foo');
insert into test (value) values ('bar');
insert into test (value) values ('bash');
select * from test;
  id value
  0  'foo'
  1  'bar'
  2  'bash'
select next_value from information_schema.sequences where sequence_name = 'TEST_SEQ'
  3

最新更新