あなたはjOOQで `UPDATE ... FROM ...`クエリをどのように行うのですか?

ジェームズHiew:

例えば以下のようなクエリ

UPDATE some_table
SET some_table.foo = other_table.bar
FROM other_table
WHERE some_table.id = other_table.id

私はすでに見jOOQでの更新ステートメントのドキュメントが、使用例を見つけることができませんでしたFROM ...句を。

ルーカス・エダー:

この機能は、確かに、マニュアルから欠落しています。私は、このためにバグレポートを作成しましたしかし、それはAPIから利用可能とJavadocに記載されています。ただ、追加FROMで:あなたはそれがあることを期待したい句をUpdateFromStep.from()

ctx.update(SOME_TABLE)
   .set(SOME_TABLE.FOO, OTHER_TABLE.BAR)
   .from(OTHER_TABLE)
   .where(SOME_TABLE.ID.eq(OTHER_TABLE.ID))
   .execute();

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=209812&siteId=1