Nextval не работает при выполнении скрипта в Oracle - PullRequest
0 голосов
/ 17 мая 2019

Я запускаю следующий скрипт:

INSERT INTO Schema.columna (id_columna, n_nivel, n_esprincipal, s_cbasedatos, 
s_cmostrar, n_orden, n_tamano, n_formato, n_nivelorden, n_totaliza, 
n_esexpandible, n_cuenta, n_esvisible)
VALUES(sq_COLUMNA.nextval, 100022, 0, 'NOMBRESECTOR', 'NOMBRE SECTOR', 1, 25, 
 3, 1, 0, 0, 0, 1);

, но выдает следующую ошибку: ORA-02289: последовательность не существует

сценарий последовательности sq_Columnaнайдено так:

CREATE SEQUENCE  "Schema"."sq_COLUMNA"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 1 CACHE 20 NOORDER  NOCYCLE   ;

почему написано, что последовательность ошибок не существует?мы должны создать триггер?У меня нет опыта в оракуле

1 Ответ

0 голосов
/ 17 июля 2019

Использование кавычек решает это, если последовательность существует и у пользователя есть разрешения. Пример:

 select sq_COLUMNA.nextval from dual;--> Throughs error ORA-02289
 select "sq_COLUMNA".nextval from dual;--> gives nextval

Цитата: Msgstr "Идентификатор в кавычках начинается и заканчивается двойными кавычками ("). Если вы называете объект схемы с помощью заключенного в кавычки идентификатора, тогда вы должны использовать двойные кавычки, когда ссылаетесь на этот объект. "

Ссылка: https://docs.oracle.com/database/121/SQLRF/sql_elements008.htm#SQLRF51129

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...