sql >> Base de Datos >  >> RDS >> Mysql

Actualización de filas en jOOQ con uniones

Probablemente estés pensando eso porque no hay UpdateJoinStep escribe como si hubiera un SelectJoinStep que usar una combinación con actualizaciones no es posible en jOOQ. Pero tenga en cuenta que SelectJoinStep es mera conveniencia. El JOIN operator es un operador que conecta dos tablas, no una palabra clave en SQL. Por lo tanto, jOOQ lo admite como operador en la Table escribe. Usando su actualización de SQL como ejemplo:

Field<Long> userId = DSL.field("user_nested.id", Long.class);
create
    .update(USER.join(TEAM).on(TEAM.ID.eq(USER.TEAM_ID)))
    .set(USER.NAME, (concat(USER.NAME, "some text")))
    .where(TEAM.STATE.equal("test"))

Puede pasar la expresión de la tabla anterior a DSLContext.update(Table) como cualquier otro. ¿Sospecho que esto hace obsoleta la pregunta que te quedaba?