【发布时间】:2017-01-09 12:28:24
【问题描述】:
我希望从用户定义的函数中进行查询。我见过的所有例子都是以select参数查询函数
myFunction.setMyParam("plapla");
create.select(myFunction.asField()).fetch();
这会将结果作为一列返回,尽管结果实际上是多列。
我想做的是
myFunction.setMyParam("plapla");
create.select().from(myFunction).fetch();
但是我还没有找到方法……
目前我正在使用
DSL.using(create.configuration())
.select()
.from("myFunction('" + myparam + "')")
.fetch();
这似乎不是一个好的解决方案(未转义、未处理等)
如何使用 JOOQ 生成函数?
【问题讨论】:
-
表值函数高度依赖于 jOOQ 中的 SQL 方言。你用的是什么数据库?另外,您能否在您的数据库中声明
MY_FUNCTION时显示它的签名? -
使用 postgres 和
MY_FUNCTION(text, integer, text) -
可能与这个问题有关stackoverflow.com/questions/28383480/…我的函数返回表
RETURNS TABLE(myParams text) AS $BODY$myFunction.execute(configuration()); myFunction.getMyParameter();只返回第一行..使用JOOQ 3.8.3 -
你知道你可以编辑你的问题:)
-
我认为如果我编辑你不会收到通知?
标签: java sql postgresql jooq