Oracle
 sql >> Datenbank >  >> RDS >> Oracle

SQL*Plus-Skript zweimal ausgeführt

Lassen Sie Ihr Skript entweder;

DELETE FROM f2020.SOCIETES
/

oder

DELETE FROM f2020.SOCIETES;

ohne den Schrägstrich.

Aus der Dokumentation :

und im Beispiel weiter unten:

... und genau das sehen Sie.

An anderer Stelle in diesen Dokumenten :

Wie viele Clients behandelt SQL*Plus das Semikolon am Ende Ihrer SQL-Anweisung als Anweisungstrennzeichen - es ist nicht Teil der Anweisung selbst (was z. B. bei dynamischen SQL- und JDBC-Aufrufen zu einiger Verwirrung führt) - und wenn es ihn sieht, führt es den Befehl aus. Die ausgeführte Anweisung bleibt im Befehlspuffer; und wenn Sie list Um den aktuellen Befehlspuffer anzuzeigen, wird dieses Semikolon nicht angezeigt. Wenn Sie einen Schrägstrich eingeben, wird der Puffer erneut ausgeführt.

Etwas anders sieht es bei PL/SQL aus; dort muss der PL/SQL-Block mit einem Semikolon abgeschlossen werden, was ist Teil des Blocks und erscheint im Puffer. Sie müssen einen Schrägstrich für Führen Sie einen PL/SQL-Block aus .