1

顺序:

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

选择查询:

SELECT TPLCST.code,NEXT VALUE FOR STAGING.STG.TEMP_PPC_SEQ
FROM TEMP_PRODUCT_LIFE_CYCLE_STATUS_TYPE TPLCST

结果:

CODE    NEXTVAL
30  8
80  10008
40  30008
50  40015
10  40016
20  20008

我得到下一个随机数。我怎样才能使它们连续?

4

3 回答 3

7

它们是随机的,因为 Netezza 是大规模并行的,并且每个 SPU 都有自己的序列值块。

于 2013-02-17T23:23:45.263 回答
0

您可以使用 Row_number() over(order by <>) 来获取序列值

请阅读下文

http://www.enzeecommunity.com/message/8914

http://www.enzeecommunity.com/message/3272

于 2013-02-01T18:10:18.353 回答
0

您是否正在尝试制作自动增量列?Netezza 不这样做。此外,如果您使用序列生成器,它将是唯一的,但不是连续的——序列中会有漏洞。

于 2020-09-18T09:45:59.283 回答