2010-07-09 12 views
2

Je reçois le 'erreur SQL: ORA-01733: colonne virtuelle pas autorisée ici'SQL virtuel colonne

Voici mon code:

update (
    Select g.FIRST300BB from ( 
     select FIRST300BB, row_number() over (order by pitchandeventid) r 
     from gamedata_me 
     where hitterid = 5000 
     and (eventcode = 'BB') 
    ) g 
    where r between 0 and 300 
) t 
set t.FIRST300BB =1 

Des idées? Je suis coincé, en utilisant Oracle donc j'ai découvert que je ne peux pas faire la mise à jour/de la syntaxe ... donc je suis officiellement tourné autour des wagons

Répondre

6

Essayez une requête équivalente par exemple

update gamedata_me 
    set first300BB=1 
where rowid in(
      Select g.rid from ( 
       select rowid rid, row_number() over (order by pitchandeventid) r 
        from gamedata_me 
       where hitterid = 5000 
       and (eventcode = 'BB') 
       ) g 
    where r between 0 and 300 
    ) 
+0

+1 Cette mise à jour fait le tour. – APC