Я ищу запрос из пользовательской функции. Все пример я видел запрашивает функцию в качестве параметра select
Запрос от пользовательской функции JOOQ
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?
Значительные функции, в зависимости от диалекта SQL в jOOQ. Какую базу данных вы используете? Кроме того, вы могли бы показать подпись своего «MY_FUNCTION», как вы ее объявили в своей базе данных? –
Использование postgres и 'MY_FUNCTION (текст, целое число, текст)' – user3960875
Возможно, связано с этой проблемой http://stackoverflow.com/questions/28383480/getting-results-from-table-valued-postgresql-function-with-jooq Моя функция возвращает таблицу 'RETURNS TABLE (текст myParams) AS $ BODY $' 'myFunction.execute (configuration()); myFunction.getMyParameter(); ' возвращает только первую строку. Используя JOOQ 3.8.3 – user3960875