Oracle
 sql >> Base de données >  >> RDS >> Oracle

Script SQL*Plus exécuté deux fois

Faites en sorte que votre script fasse l'un ou l'autre ;

DELETE FROM f2020.SOCIETES
/

ou

DELETE FROM f2020.SOCIETES;

sans la barre oblique.

De la documentation :

et dans l'exemple plus bas :

... c'est exactement ce que vous voyez.

Ailleurs dans ces documents :

Comme de nombreux clients, SQL*Plus traite le point-virgule à la fin de votre instruction SQL comme un séparateur d'instructions - ce n'est pas une partie de l'instruction elle-même (ce qui provoque une certaine confusion, par exemple pour les appels dynamiques SQL et JDBC) - et lorsqu'il la voit, il exécute la commande. L'instruction exécutée reste dans le tampon de commandes ; et si vous list pour voir le tampon de commande actuel, il n'affichera pas ce point-virgule. Lorsque vous émettez une barre oblique, il exécute à nouveau le tampon.

Les choses sont légèrement différentes pour PL/SQL; là, le bloc PL/SQL doit être terminé par un point-virgule, qui est partie du bloc et apparaît dans le tampon. Vous devez utiliser une barre oblique pour exécuter un bloc PL/SQL .