oracle SQL plus, wie Befehl in SQL-Datei zu beenden?

8

Ich habe eine SQL-Datei mit wenigen Befehlen. Was ist der richtige Weg, Zeilen im Skript zu beenden?
Ist es Schrägstrich [/] Semikolon [;] beide? Gibt es Unterschiede zwischen regulären SQL und gespeicherten Prozedurcode? Vielen Dank

    
user648026 06.12.2011, 21:05
quelle

3 Antworten

23

Bei normalen SQL-Anweisungen funktioniert entweder ein / in einer Zeile oder ein ; am Ende des Befehls.

Für Anweisungen, die PL / SQL-Code enthalten, z. B. CREATE FUNCTION , CREATE PROCEDURE , CREATE PACKAGE , CREATE TYPE oder anonyme Blöcke ( DECLARE / BEGIN / END ), ein ; führt den Befehl nicht aus. Da PL / SQL Semikolons als Zeilenabschlusszeichen verwendet, muss seine Verwendung als Befehlsabschluss in diesen Anweisungen unterdrückt werden. In diesen Fällen müssen Sie / verwenden, um den Befehl auszuführen.

Nach meiner Erfahrung verwenden die Leute lieber das Semikolon, wenn es möglich ist, und verwenden den Schrägstrich nur bei Bedarf.

Beachten Sie, dass für SQLPlus-Clientbefehle - wie SET oder EXECUTE - kein Befehlsabschluss erforderlich ist, obwohl die Benutzer sie häufig aus Gewohnheit mit einem Semikolon beenden.

    
Dave Costa 06.12.2011, 21:19
quelle
2

; So sollten Sie Ihre sql-Befehle beenden, dasselbe gilt für PLSQL-Prozeduren:

select * from dual;

select sysdate from dual;

select table_name from user tables;

exec dbms_output.putline('Hello');

    
Daniel Haviv 06.12.2011 21:12
quelle
1

Normalerweise können wir " ; " verwenden, um die SQL-Anweisung zu beenden aber für create functions , triggers , procedures müssen Sie " / " nach " ; " verwenden, um die SQL-Anweisung zu beenden.
" / " ist möglicherweise nicht erforderlich, wenn Sie ein Entwickler-Tool wie Oracle SQL Developer, Kröte usw. verwenden, aber es sollte Mandat sein, wenn Sie Ihre Abfrage direkt in der Linux-Maschine ausführen.

    
madhavan 19.01.2016 11:24
quelle

Tags und Links