Для обычных операторов SQL, либо /
в отдельной строке, либо ;
в конце команды, будет работать нормально.
Для операторов, которые включают код PL / SQL, например CREATE FUNCTION
, CREATE PROCEDURE
, CREATE PACKAGE
, CREATE TYPE
или анонимные блоки (DECLARE
/ BEGIN
/ END
), a ;
не выполнит команду. Поскольку PL / SQL использует точки с запятой в качестве разделителей строк, их использование в качестве разделителя команд должно быть исключено в этих операторах. Поэтому в этих случаях вы должны использовать /
для выполнения команды.
По моему опыту, люди предпочитают использовать точку с запятой, когда это возможно, и косую черту только тогда, когда это необходимо.
Обратите внимание, что для клиентских команд SQLPlus, таких как SET
или EXECUTE
, терминатор команд вообще не требуется, хотя люди часто заканчивают их точкой с запятой по привычке.