У меня небольшая проблема в Oracle. Я пытаюсь создать последовательность для генерации идентификаторов в таблице, в которой уже есть данные. Я пытаюсь использовать следующий анонимный блок.запустить строку как запрос в oracle
declare y varchar2(2000);
BEGIN
SELECT 'CREATE SEQUENCE ID_SEQ MINVALUE 1 MAXVALUE 9999999999 START WITH ' || (max(ID)+1) || ' INCREMENT BY 1 CACHE 20;' INTO y FROM TEST_TABLE;
--dbms_output.put_line(y);
execute immediate y;
end;
Я получаю следующее сообщение об ошибке:
Error report:
ORA-00911: invalid character
ORA-06512: at line 5
00911. 00000 - "invalid character"
Если я исполню значение переменной у него работает отлично. Я использую SQL Developer в качестве входного интерфейса и работаю на сервере Oracle rg 11g r2. Я нашел похожие коды, где параметр «INCREMENT BY» был сгенерирован скриптом. Может кто-нибудь объяснить мою ошибку?