При использовании Oracle вы «смешиваете» три разные грамматики.
- SQL
- PL / SQL
- sqlplus (клиент командной строки)
sqlplus может выполнять / обрабатывать операторы SQL и PL / SQL, отправляя их на сервер БД. В то время как команды sqlplus интерпретируются самим sqlplus.
Точка с запятой ";" не является частью грамматики SQL, и sqlplus распознает ее как конец оператора SQL. В то время как для PL / SQL это часть грамматики, и она должна явно указывать sqlplus, что здесь оператор заканчивается и должен выполняться с использованием косой черты.
Другими командами sqlplus являются «EXIT», «DEFINE», «VARIABLE», «PRINT», «SET » (кроме SET ROLE).
С другой стороны, жаба, например, распознает конец блока PL / SQL, когда видит пустую строку.