在 oracle 中创建具有特定值集的序列
Create sequence with specific set of values in oracle
我想在 oracle 中创建一个包含两个值 (1, -1) 的序列。
顺序为 1,-1,1,-1,1,-1
是否可以在 oracle 中创建这种类型的序列,仅在这两个值之间交替?
是否可以在 oracle 中使用标准的创建序列语法?
创建这样一个序列的一种方法是将 -1
提高到不同的幂。如果幂是偶数,您将得到 1
,如果是奇数,您将得到 -1
。例如:
SELECT POWER(-1, LEVEL + 1)
FROM dual
CONNECT BY LEVEL <= 6
是的,这是可能的:
create sequence seq_alternate
minvalue -1
maxvalue 1
start with 1
increment by 2
nocache
cycle;
我想在 oracle 中创建一个包含两个值 (1, -1) 的序列。
顺序为 1,-1,1,-1,1,-1
是否可以在 oracle 中创建这种类型的序列,仅在这两个值之间交替?
是否可以在 oracle 中使用标准的创建序列语法?
创建这样一个序列的一种方法是将 -1
提高到不同的幂。如果幂是偶数,您将得到 1
,如果是奇数,您将得到 -1
。例如:
SELECT POWER(-1, LEVEL + 1)
FROM dual
CONNECT BY LEVEL <= 6
是的,这是可能的:
create sequence seq_alternate
minvalue -1
maxvalue 1
start with 1
increment by 2
nocache
cycle;