Oracle ne prend pas en charge join
dans la update
syntaxe :
UPDATE T123
SET COL1 = 1,
VER1 = VER1 + 1
WHERE EXISTS (SELECT 1 FROM WAPTDT_123 T WHERE T123.REQUEST_ID = T.NUM_FLD);
Ceci est du SQL standard et devrait fonctionner dans n'importe quelle base de données.
Votre requête a également d'autres problèmes. . . la sous-requête n'est pas entre parenthèses, la inner join
n'a pas de première table.
MODIFIER :
Vous pouvez écrire cette requête avec cette sous-requête :
UPDATE T123
SET COL1 = 1,
VER1 = VER1 + 1
WHERE T123.REQUEST_ID IN (SELECT C1 FROM ( SELECT T.NUM_FLD C1 FROM WAPTDT_123 T) TAB );
Je l'ai remplacé par un IN
, juste parce que c'est une autre option. Vous pouvez toujours utiliser EXISTS
.