Le regole di esecuzione dei comandi SQLplus sono sostanzialmente:
- Esegui il testo corrente quando incontri un punto e virgola. Pertanto, se una riga non termina con un punto e virgola, il testo corrente continua a essere raccolto.
- Se incontri
DECLARE
oBEGIN
, raccogli tutto il testo e non esegui il punto e virgola - Se incontri una barra (
/
), eseguire il testo raccolto.
Quindi quello che succede nei tuoi casi è che sia il punto e virgola che la barra eseguano il DROP
dichiarazioni.
Per risolverlo, rimuovi la barra.
Hai bisogno della barra solo se hai un blocco di PL/SQL, che sempre con un END
dichiarazione. Usa il punto e virgola per tutto il resto.
Nota:le regole di cui sopra sono semplificate. In pratica è più complesso.