0

我想在 oracle 中创建一个包含两个值(1,-1)的序列。

序列将是 1,-1,1,-1,1,-1

是否可以在 oracle 中创建仅在这两个值之间交替的这种类型的序列?

这是否可以在 oracle 中使用标准的创建序列语法?

4

2 回答 2

3

是的,这是可能的:

create sequence seq_alternate 
   minvalue -1
   maxvalue 1
   start with 1
   increment by 2
   nocache
   cycle;
于 2015-09-29T07:27:58.263 回答
1

创建这样一个序列的一种方法是提升-1到不同的权力。如果幂是偶数,你会得到1,如果它是奇数,你会得到-1。例如:

SELECT POWER(-1, LEVEL + 1)
FROM   dual
CONNECT BY LEVEL <= 6

SQLFiddle

于 2015-09-29T07:18:55.703 回答