увеличить значения в операторе вставки Oracle (отрицательные числа) - PullRequest
0 голосов
/ 12 июля 2011

Я должен вставить данные в таблицу.У него есть столбец, значения которого должны быть отрицательными числами, такими как -1, -2, -3 ..... и так далее до -50.

Я думал об использовании последовательности, но он не будет принимать отрицательные значения.

Как я могу генерировать, я имею в виду вставить значения ???

Ответы [ 3 ]

3 голосов
/ 12 июля 2011

"Я думал об использовании последовательности, но она не примет отрицательные значения."

Вы уверены?

SQL> create table t1 (c1 number)
  2  /

Table created.

SQL> create sequence myseq increment by -1
  2  /

Sequence created.

SQL> insert into t1 values (myseq.nextval)
  2  /

1 row created.

SQL> r
  1* insert into t1 values (myseq.nextval)

1 row created.

SQL> r
  1* insert into t1 values (myseq.nextval)

1 row created.

SQL> select * from t1
  2  /

        C1
----------
        -1
        -2
        -3

SQL>

Какую версию базы данных вы используете?Это из Oracle 11g R1, но я не думаю, что это недавняя функция.

0 голосов
/ 12 июля 2011

Использование 0 - rownum.

SELECT 0 - rownum
FROM   DUAL
CONNECT BY LEVEL <= 50;

0-ROWNUM
-1
-2
-3
-4
-5
...
0 голосов
/ 12 июля 2011

найдите любую таблицу с минимальным счетом ресурсов, которая вам нравится, а затем напишите:

используйте команду select для генерации данных:

select (rownum * -1) as negRowNum from whatevertableyoufound where rownum <= 50
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...