【问题标题】:Get the value of an auto-increment variable in HSQLDB获取 HSQLDB 中自增变量的值
【发布时间】:2013-10-31 09:44:50
【问题描述】:

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

我找到了this answer,但它没有完整说明如何从特定表中获取它。

【问题讨论】:

    标签: sql hsqldb


    【解决方案1】:

    如果主键列被声明为 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多