在PostgreSQL 檔案中有一個關于如何更新復合型別的子欄位的示例:
我們可以更新復合列的單個子欄位:
UPDATE mytab SET complex_col.r = (complex_col).r 1 WHERE ...;
假設我們使用 jOOQ 和代碼生成,那將如何轉換為 jOOQ 代碼?
uj5u.com熱心網友回復:
從 jOOQ 3.15 開始,還沒有允許訪問 UDT 成員的 API:https : //github.com/jOOQ/jOOQ/issues/228
與往常一樣,您可以通過使用普通 SQL 模板輕松解決此缺失的功能:
Field<Integer> r = field("({0}).{1}", COMPLEX_TYPE.R.getDataType(),
MYTAB.COMPLEX_COL.getUnqualifiedName(),
COMPLEX_TYPE.R.getUnqualifiedName()
);
ctx.update(MYTAB)
.set(r, r.plus(1))
.where(...)
.execute();
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/348646.html
標籤:PostgreSQL 乔克 组合键
