在 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

SQLFiddle

是的,这是可能的:

create sequence seq_alternate 
   minvalue -1
   maxvalue 1
   start with 1
   increment by 2
   nocache
   cycle;