Создать последовательность с определенным набором значений в Oracle

Я хотел бы создать в оракуле последовательность, которая будет состоять из двух значений (1, -1).

Последовательность будет 1, -1,1, -1,1, -1

Можно ли создать в Oracle тип последовательности, которая будет чередоваться только между этими двумя значениями?

Возможно ли это, используя стандартный синтаксис Create sequence в oracle?

2 ответа

Решение

Да, это возможно

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

Одним из способов создания такой последовательности является повышение -1 для разных сил. Если сила четная, вы получите 1 и если это странно, вы получите -1, Например:

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

SQLFiddle

Другие вопросы по тегам