PLS-00103: incontrato il simbolo “end-of-file” in modo semplice blocco di aggiornamento
Domanda
La seguente dichiarazione di Oracle:
DECLARE ID NUMBER;
BEGIN
UPDATE myusername.terrainMap
SET playerID = :playerID,tileLayout = :tileLayout
WHERE ID = :ID
END;
mi dà il seguente errore:
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>
Sono praticamente in perdita. Questo sembra essere una dichiarazione piuttosto semplice. Se aiuta qualsiasi, ho avuto una dichiarazione simile che ha eseguito un INSERT che ha usato per il lavoro, ma oggi mi è stato dando lo stesso messaggio.
Soluzione
Aggiungi un punto e virgola dopo where id=:id
Altri suggerimenti
Si dispone di un certo numero di problemi qui:
-
mancante e virgola (come MJB sega)
-
:ID
fa riferimento a una variabile in-bound, quindi non è in uso la vostra dichiarazione locale (DECLARE ID NUMBER;
). -
Si sta utilizzando un nome di variabile che (apparentemente) è lo stesso nome di un Colum nella tabella. Se si tenta di utilizzare la variabile
ID
locale, la query ancora non usarlo a meno che non si utilizza un'etichetta di blocco.
Detto questo, sembra che si sta inviando ID in una variabile di legatura in ogni caso, quindi è più probabile che si deve solo togliere la dichiarazione del blocco.
In aggiunta alla precedente bisogna evitare che spazi tra pari operazione,: e il valore in questo modo:
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
visitare il sito web per saperne di più .... https://docs.oracle.com/cd/B28359_01 /appdev.111/b28370/fundamentals.htm#LNPLS002