The following Oracle statement:
DECLARE ID NUMBER;
BEGIN
UPDATE myusername.terrainMap
SET playerID = :playerID,tileLayout = :tileLayout
WHERE ID = :ID
END;
Gives me the following error:
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>
I am pretty much at a loss. This appears to be a rather simple statement. If it helps any, I had a similar statement that performed an INSERT which used to work, but today has been giving me the same message.
Add a semi-colon after where id=:id
You have a number of problems here:
Missing semi-colon (as MJB saw)
:ID
refers to an in-bound variable, so your local declaration (DECLARE ID NUMBER;
) is not being used.
You're using a variable name which (apparently) is the same name as a colum in your table. If you try to use your local ID
variable, the query will still not use it unless you use a block label.
That said, it looks like you're sending ID in as a bind variable anyway, so it's more likely that you should just remove the declaration from the block.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With