Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Atualizando linhas no jOOQ com junções


Você provavelmente está pensando isso porque não há UpdateJoinStep digite como se houvesse um SelectJoinStep que usar uma junção com atualizações não é possível no jOOQ. Mas cuidado com o SelectJoinStep é mera conveniência. O JOIN operador é um operador que conecta duas tabelas, não uma palavra-chave no SQL. Assim, jOOQ o suporta como operador na Table modelo. Usando sua atualização SQL como exemplo:
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"))

Você pode passar a expressão de tabela acima para DSLContext.update(Table) como qualquer outro. Eu suspeito que isso torna obsoleta sua pergunta restante?