Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-zu-Oracle-Syntaxfehler (Limit / Offset / Update)

Scheint, dass der Parser das nicht mag, obwohl es sintaktisch korrekt ist. Wahrscheinlich blenden ihn die beiden ineinander verschachtelten und geordneten Klauseln irgendwie. Ich habe das wiedergegeben.

Sie können eine Analysefunktion verwenden:

update table1 alf
 set nextcontractid = 
     (SELECT min(contractid) keep (dense_rank first order by lasttradedate asc) 
     FROM table1copy alf2
     WHERE alf2.assetid     = alf.assetid
     AND alf2.lasttradedate > alf.lasttradedate
     )
 where alf.complete = 0