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.

War es hilfreich?

Lösung

Fügen Sie danach ein Semikolon hinzu where id=:id

Andere Tipps

Sie haben hier eine Reihe von Problemen:

  1. Fehlendes Semikolon (wie MJB SAW)

  2. :ID bezieht sich auf eine eingehende Variable, also Ihre lokale Erklärung (DECLARE ID NUMBER;) wird nicht verwendet.

  3. 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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top