oracle SQL plus, wie end-Befehl in der SQL-Datei?
Ich habe die SQL-Datei, die mit wenigen Befehlen.
Was es der richtige Weg, um Zeilen im Skript?
Ist es Schrägstrich [/] Semikolon [;] beide?
Gibt es eine diffarent zwischen den normalen SQL-Anweisungen und Gespeicherte Prozedur code?
Danke
- Hier ist ein thread mit ähnlicher Absicht und guten Erklärungen: stackoverflow.com/questions/1079949/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für normale SQL-Anweisungen, die entweder eine
/
auf einer Linie von selbst, oder eine;
am Ende des Befehls, wird funktionieren.Für Aussagen, die beinhalten, PL/SQL-code, wie
CREATE FUNCTION
,CREATE PROCEDURE
,CREATE PACKAGE
,CREATE TYPE
oder anonymen Blöcken (DECLARE
/BEGIN
/END
), ein;
wird nicht der Befehl ausgeführt wird. Da PL/SQL verwendet Semikolon als Zeilentrenner, Ihre Verwendung als befehlsabschlusszeichen unterdrückt werden müssen, die in diesen Aussagen. Deshalb wird in diesen Fällen müssen Sie/
um den Befehl auszuführen.In meiner Erfahrung, Menschen es vorziehen, verwenden Sie ein Semikolon, wenn möglich, und verwenden Sie den Schrägstrich nur, wenn erforderlich.
Beachten Sie, dass für SQLPlus client-Befehle-wie
SET
oderEXECUTE
-- kein befehlsabschlusszeichen überhaupt notwendig ist, obwohl die Menschen oft am Ende mit einem Semikolon aus Gewohnheit.; ist die Art, wie Sie sollten, beenden Sie Ihre sql-Befehle, das gleiche gilt für PLSQL-Prozeduren:
select * from dual;
select sysdate from dual;
select table_name from user tables;
exec dbms_output.putline('Hello');
In der Regel, die wir verwenden können "
;
" zum Ende der sql-Anweisungaber für erstellen
functions
,triggers
,procedures
Sie haben, zu verwenden "/
" nach ";
" zum Ende der SQL-Anweisung."
/
" möglicherweise nicht erforderlich, wenn Sie einige Entwickler-Tools wie oracle SQL developer, toad etc., aber es sollte sein Mandat, wenn Sie die Abfrage ausführen direkt in den linux-Maschine.