Vous pensez probablement cela parce qu'il n'y a pas de UpdateJoinStep
tapez un peu comme s'il y avait un SelectJoinStep
que l'utilisation d'une jointure avec des mises à jour n'est pas possible dans jOOQ. Mais attention, SelectJoinStep
est une simple commodité. Le JOIN
L'opérateur est un opérateur qui relie deux tables, pas un mot-clé en SQL. Ainsi, jOOQ le supporte en tant qu'opérateur sur la Table
taper. En utilisant votre mise à jour SQL comme exemple :
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"))
Vous pouvez transmettre l'expression de table ci-dessus à DSLContext.update(Table)
comme n'importe quel autre. Je soupçonne que cela rend obsolète votre question restante ?