Yo nunca he visto que en una misma consulta se pueda introducir 2 sqls distintas, una de selección y otra de actualización sin estar anidadas.
Algo del tipo:
Código SQL
[-]
update .... where (select * from ...)
Si es correcto, pero tú estas metiendo 2 sqls totalmente independientes dentro de la misma consulta. La solución sería lanzar la consulta 1 vez con el SELECT y otra vez con el UPDATE cuando se necesite.
Saludos