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.

È stato utile?

Soluzione

Aggiungi un punto e virgola dopo where id=:id

Altri suggerimenti

Si dispone di un certo numero di problemi qui:

  1. mancante e virgola (come MJB sega)

  2. :ID fa riferimento a una variabile in-bound, quindi non è in uso la vostra dichiarazione locale (DECLARE ID NUMBER;).

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top