Quando você
execute immediate
, o comando executado não deve ter um ponto e vírgula no final; que é um separador de comando no SQL Developer (e SQL *Mais
, e outros clientes), não faz parte da própria instrução SQL. SELECT 'CREATE SEQUENCE ID_SEQ MINVALUE 1 MAXVALUE 9999999999 START WITH '
|| (max(ID)+1) || ' INCREMENT BY 1 CACHE 20' INTO y FROM TEST_TABLE;
Isso é mostrado nos exemplos de SQL simples . Apenas para ajudar a confundi-lo, se você estiver usando PL/SQL dentro do SQL dinâmico, ainda precisará de ponto-e-vírgula apropriado para o próprio PL/SQL - embora não o
/
em execução você usaria para executá-lo diretamente de um cliente. Isso é mostrado em outros exemplos
.