Quando execute immediate
, il comando che esegui non dovrebbe avere un punto e virgola alla fine; che è un separatore di comandi in SQL Developer (e SQL *Più
e altri client), non fa parte dell'istruzione SQL stessa.
SELECT 'CREATE SEQUENCE ID_SEQ MINVALUE 1 MAXVALUE 9999999999 START WITH '
|| (max(ID)+1) || ' INCREMENT BY 1 CACHE 20' INTO y FROM TEST_TABLE;
Questo è mostrato negli esempi per SQL semplice . Solo per confonderti, se stai usando PL/SQL all'interno dell'SQL dinamico, hai ancora bisogno di punti e virgola appropriati per PL/SQL stesso, sebbene non /
in esecuzione lo useresti per eseguirlo direttamente da un client. Ciò è mostrato in altri esempi
.