Pregunta

La siguiente declaración de Oracle:

 DECLARE ID NUMBER;
 BEGIN
  UPDATE myusername.terrainMap 
  SET playerID = :playerID,tileLayout = :tileLayout 
  WHERE ID = :ID
 END;

Me da el siguiente 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>

Yo soy más o menos en una pérdida. Esto parece ser una declaración bastante simple. Si se ayuda a cualquiera, tuve una declaración similar que lleva a cabo un inserto que utiliza para el trabajo, pero hoy me ha estado dando el mismo mensaje.

¿Fue útil?

Solución

Añadir un punto y coma después where id=:id

Otros consejos

Hay una serie de problemas aquí:

  1. Falta de punto y coma (como MJB sierra)

  2. :ID se refiere a una variable en-bound, así que no se está utilizando su declaración local (DECLARE ID NUMBER;).

  3. Usted está utilizando un nombre de variable que (aparentemente) es el mismo nombre que un Colum en su mesa. Si intenta utilizar la variable de ID locales, la consulta todavía no usarlo a menos que utilice una etiqueta de bloque.

Dicho esto, parece que va a enviar en ID como una variable de vinculación de todos modos, por lo que es más probable que usted sólo debe eliminar la declaración del bloque.

Además de la anterior hay que evitar que los espacios entre iguales operación,:, y el valor de esta manera:

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

visitar el sitio web para leer más .... https://docs.oracle.com/cd/B28359_01 /appdev.111/b28370/fundamentals.htm#LNPLS002

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top