Actualizar múltiples columnas para múltiples filas en una consulta de SQL

Estoy tratando de establecer varias columnas para múltiples filas en una consulta, pero hasta ahora no tengo suerte.

Así es como se ve mi mesa

Tabla: usuario

Me gustaría establecer 'ext_id' en user_id IN (3,4,5) y también me gustaría establecer ext_flag = Y y admin_role = admin en las mismas filas.

la tabla resultante se ve como sigue

Mi consulta se ve así, pero tengo errores debido a que no estoy familiarizado con la sintaxis SQL.

update user
set ext_flag = 'Y', admin_role = 'admin', ext_id = 
case 
when user_id = 2 then 345
when user_id = 4 then 456
when user_id = 5 then 789
end

Estoy teniendo dificultades en la sintaxis SET con varias columnas.

Respuestas a la pregunta(2)

Su respuesta a la pregunta