PLS-00103: Das Symbol „End-of-File“ im einfachen Update-Block gestoßen
Frage
Die folgende Oracle -Erklärung:
DECLARE ID NUMBER;
BEGIN
UPDATE myusername.terrainMap
SET playerID = :playerID,tileLayout = :tileLayout
WHERE ID = :ID
END;
Gibt mir den folgenden Fehler:
ORA-06550: line 6, column 15:
PL/SQL: ORA-00933: SQL command not properly ended
ORA-06550: line 3, column 19:
PL/SQL: SQL Statement ignored
ORA-06550: line 6, column 18:
PLS-00103: Encountered the symbol "end-of-file" when expecting one of the following:
( begin case declare end exception exit for goto if loop mod
null pragma raise return select update while with
<an identifier> <a double-quoted>
Ich bin ziemlich ratlos. Dies scheint eine ziemlich einfache Aussage zu sein. Wenn es irgendjemandem hilft, hatte ich eine ähnliche Aussage, die einen Einsatz ausführte, der früher funktioniert hat, aber heute hat mir die gleiche Nachricht gegeben.
Lösung
Fügen Sie danach ein Semikolon hinzu where id=:id
Andere Tipps
Sie haben hier eine Reihe von Problemen:
Fehlendes Semikolon (wie MJB SAW)
:ID
bezieht sich auf eine eingehende Variable, also Ihre lokale Erklärung (DECLARE ID NUMBER;
) wird nicht verwendet.Sie verwenden einen Variablennamen, der (anscheinend) der gleiche Name wie ein Kolum in Ihrer Tabelle ist. Wenn Sie versuchen, Ihren Einheimischen zu verwenden
ID
Variable verwendet die Abfrage sie immer noch nicht, es sei denn, Sie verwenden ein Blocketikett.
Das heißt, es sieht so aus, als würden Sie sowieso als Bind -Variable ID einsenden, daher ist es wahrscheinlicher, dass Sie die Erklärung nur aus dem Block entfernen sollten.
Zusätzlich zu den vorherigen müssen Sie Räume zwischen gleichem Betrieb und dem Wert wie folgt verhindern:
SQL> BEGIN
2 IF x > y THEN high := x; END IF; -- correct
3 IF x > y THEN high := x; ENDIF; -- incorrect
4 END;
5 /
END;
ERROR at line 4:
ORA-06550: line 4, column 4:
PLS-00103: Encountered the symbol ";" when expecting one of the following:
if
Besuchen Sie die Website, um mehr zu lesen ....https://docs.oracle.com/cd/b28359_01/appdev.111/b28370/fundamentals.htm#lnpls002