【问题标题】:Where to find Netezza Sequence data?在哪里可以找到 Netezza 序列数据?
【发布时间】:2016-06-26 10:12:48
【问题描述】:

关于序列的信息可以在 _vt_sequence 视图中找到,该视图可以与 _v_sequence.objid = _vt_sequence.seq_id 上的 _v_sequence 连接。

序列获取查询:

select vs.* , vts.*
from  _v_sequence vs join _vt_sequence vts on vs.objid = vts.seq_id;

查询生成的以下值:

OBJID
SEQNAME
OWNER
CREATEDATE
OBJTYPE
OBJCLASS
OBJDELIM
DATABASE
OBJDB
SCHEMA
SCHEMAID
SEQ_ID
DB_ID
DATA_TYPE
MIN_VALUE
MAX_VALUE
CYCLE
INCREMENT
CACHE_SIZE
NEXT_CACHE_VAL
FLAGS

创建序列示例:

CREATE SEQUENCE TEMP_PPC_SEQ AS BIGINT
START WITH 1
INCREMENT BY 2
NO MINVALUE
MAXVALUE 2147483647
NO CYCLE;

序列的START没有价值。 帮助获取每个序列的 START 值。

【问题讨论】:

    标签: sequence netezza


    【解决方案1】:

    您可以在序列表中找到起始值。不幸的是,netezza 不会更新此表中的最后一个值。你的答案是

    SELECT s.LAST_VALUE
      FROM sequence1 s;
    

    【讨论】:

      【解决方案2】:

      您可以通过从序列对象本身中进行选择(就像它是一个表一样)并引用 LAST_VALUE 列来找到 DDL 在创建时使用的“START WITH”值。

      不要被列名弄糊涂了。 LAST_VALUE 不报告序列分配的最后一个值。下面的示例演示了这一点。

      TESTDB.ADMIN(ADMIN)=> create sequence test_seq_1 as bigint start with 12345;
      CREATE SEQUENCE
      
      TESTDB.ADMIN(ADMIN)=> create temp table seq_out as select next value for test_seq_1 from _v_vector_idx a cross join _v_vector_idx b;
      INSERT 0 1048576
      
      TESTDB.ADMIN(ADMIN)=> select * from test_seq_1;
       SEQUENCE_NAME | LAST_VALUE | INCREMENT_BY |      MAX_VALUE      | MIN_VALUE | CACHE_VALUE | LOG_CNT | IS_CYCLED | IS_CALLED | DATATYPE
      ---------------+------------+--------------+---------------------+-----------+-------------+---------+-----------+-----------+----------
       TEST_SEQ_1    |      12345 |            1 | 9223372036854775807 |         1 |      100000 |       1 | f         | f         |       20
      (1 row)
      
      TESTDB.ADMIN(ADMIN)=> select next value for test_seq_1;
       NEXTVAL
      ---------
       1060921
      (1 row)
      

      【讨论】:

      • 使用 LAST_VALUE ,将给出最后一个无序生成的序列...我正在寻找 START WITH ,它是 CREATE SEQUENCE DDL。
      • 嗨,我的回答提供了一个相反的例子。激光值报告初始起始值。
      猜你喜欢
      • 2015-06-21
      • 2020-01-30
      • 1970-01-01
      • 1970-01-01
      • 2022-08-03
      • 2012-02-29
      • 2011-12-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多