在 SQL 语句中调用具有默认值的函数
Call a function with default value in an SQL statement
我有这个 SQL 声明:
select pa_bez.divlovs(lovart, lovid) bez, lovid, lovart from divlovs where lovart = ?
pa_bez.divlovs
有一个带默认值的第三个参数。
jOOQ 生成了这个方法:
public static Field<String> divlovs(String pLovart, String pLovid, String pSprache)
如果我在 SELECT 语句中使用它,我将必须传递 null 并且不会使用默认值。
如何将此查询转换为仅使用两个参数调用 pa_bez.divlovs
的 jOOQ?
如果您想应用默认值,则不能使用 static
便捷方法,您必须使用基础 Routine
对象,例如
Divlovs divlovs = new Divlovs();
divlovs.setPLovart(...);
divlovs.setPLovid(...);
List<String> result =
ctx.select(divlovs.asField())
.from(DIVLOVS)
.where(DIVLOVS.LOVART.eq(...))
.fetch();
我有这个 SQL 声明:
select pa_bez.divlovs(lovart, lovid) bez, lovid, lovart from divlovs where lovart = ?
pa_bez.divlovs
有一个带默认值的第三个参数。
jOOQ 生成了这个方法:
public static Field<String> divlovs(String pLovart, String pLovid, String pSprache)
如果我在 SELECT 语句中使用它,我将必须传递 null 并且不会使用默认值。
如何将此查询转换为仅使用两个参数调用 pa_bez.divlovs
的 jOOQ?
如果您想应用默认值,则不能使用 static
便捷方法,您必须使用基础 Routine
对象,例如
Divlovs divlovs = new Divlovs();
divlovs.setPLovart(...);
divlovs.setPLovid(...);
List<String> result =
ctx.select(divlovs.asField())
.from(DIVLOVS)
.where(DIVLOVS.LOVART.eq(...))
.fetch();