Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Aktualizacja wierszy w jOOQ za pomocą złączeń

Prawdopodobnie tak myślisz, ponieważ nie ma UpdateJoinStep typ podobny do SelectJoinStep że użycie sprzężenia z aktualizacjami nie jest możliwe w jOOQ. Uważaj jednak, że SelectJoinStep to zwykła wygoda. JOIN operator to operator, który łączy dwie tabele, a nie słowo kluczowe w SQL. Dlatego jOOQ obsługuje go jako operator w Table rodzaj. Na przykładzie aktualizacji SQL:

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"))

Możesz przekazać powyższe wyrażenie tabeli do DSLContext.update(Table) jak każdy inny. Podejrzewam, że to przestarzałe Twoje pozostałe pytanie?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL aktualizuje ten sam wiersz przez wielu użytkowników, takich jak licznik

  2. Pozostaw tylko pierwsze 50 rekordów w bazie danych SQL, a pozostałe usuń

  3. BŁĄD 1878 (HY000):Błąd tymczasowego zapisu pliku

  4. ORDER BY o równej wartości w MySQL

  5. MySQL InnoDB blokuje tylko dotknięte wiersze?