Pour les instructions SQL normales, soit un / sur une ligne seule, ou un ; à la fin de la commande, fonctionnera correctement.
Pour les instructions qui incluent du code PL/SQL, telles que CREATE FUNCTION , CREATE PROCEDURE , CREATE PACKAGE , CREATE TYPE , ou des blocs anonymes (DECLARE /BEGIN /END ), un ; n'exécutera pas la commande. Étant donné que PL/SQL utilise des points-virgules comme fins de ligne, son utilisation comme fin de commande doit être supprimée dans ces instructions. Donc dans ces cas, vous devez utiliser / pour exécuter la commande.
D'après mon expérience, les gens préfèrent utiliser le point-virgule lorsque cela est possible et n'utiliser la barre oblique que lorsque cela est nécessaire.
Notez que pour les commandes client SQLPlus -- telles que SET ou EXECUTE -- aucun terminateur de commande n'est nécessaire, bien que les gens les terminent souvent par un point-virgule par habitude.