【发布时间】:2021-09-09 06:02:21
【问题描述】:
我正在尝试使用例程通过 jOOQ 调用 PL/SQL 函数。函数如下:
CREATE OR REPLACE FUNCTION myschema.default_sort(rec myschema.mytable)
RETURNS text
LANGUAGE SQL
IMMUTABLE
AS $$
SELECT
TO_CHAR($1.created_at, 'YYYYMMDDHHMMSSMS') || myschema.encode($1.id)
$$;
我希望能够执行以下等效操作:
SELECT
mt.*,
myschema.default_sort(mt)
FROM
myschema.mytable mt;
所以在jOOQ中,生成了例程:
public static Field<String> defaultSort(MyTableRecord rec) {
//do stuff
}
但是到调用的时候,我不知道如何在例程中传递当前行:
dsl.select(
Tables.MYTABLE.asterisk(),
Routines.defaultSort( /* What goes here? */)
)
.from(Tables.MYTABLE)
我在Tables 或dsl 对象上找不到任何暗示当前记录的内容。我该怎么做?
【问题讨论】: