sql >> Databasteknik >  >> RDS >> Oracle

SQL*Plus-skriptet körs två gånger

Få ditt skript att göra antingen;

DELETE FROM f2020.SOCIETES
/

eller

DELETE FROM f2020.SOCIETES;

utan snedstreck.

Från dokumentationen :

och i exemplet längre ner:

... vilket är precis vad du ser.

Annorstädes i dessa dokument :

Som många klienter behandlar SQL*Plus semikolonet i slutet av din SQL-sats som en satsseparator - det är inte del av själva satsen (vilket orsakar viss förvirring för t.ex. dynamiska SQL- och JDBC-anrop) - och när den ser den kör den kommandot. Den körda satsen stannar i kommandobufferten; och om du list för att se den aktuella kommandobufferten kommer den inte att visa det semikolonet. När du gör ett snedstreck kör den bufferten igen.

Saker och ting är något annorlunda för PL/SQL; där måste PL/SQL-blocket avslutas med ett semikolon, vilket är del av blocket och visas i bufferten. Du måste använda ett snedstreck för att kör ett PL/SQL-block .



  1. En titt på Oracle Group-by Bug

  2. Kryptera data i SQLite

  3. Hur man söker efter nollvärde för en dubbel som är hämtad från en databas

  4. SQLSTATE[HY093] :pdo-sats under infogning i mysql db