As regras de execução do comando SQLplus basicamente são:
- Execute o texto atual quando encontrar um ponto e vírgula. Assim, se uma linha não terminar com um ponto e vírgula, o texto atual continua a ser coletado.
- Se você encontrar
DECLARE
ouBEGIN
, colete todo o texto e não execute em ponto e vírgula - Se você encontrar uma barra (
/
), execute o texto coletado.
Então, o que acontece nos seus casos é que tanto o ponto e vírgula quanto a barra executam o
DROP
declarações. Para corrigi-lo, remova a barra.
Você só precisa da barra se tiver um bloco de PL/SQL, que sempre com um
END
declaração. Use ponto e vírgula para todo o resto. Nota:as regras acima são simplificadas. É mais complexo na prática.