gpt4 book ai didi

sql - 使用 jooq 将表名转换为 OID

转载 作者:行者123 更新时间:2023-12-04 08:32:09 29 4
gpt4 key购买 nike

我需要使用 JOOQ 将表名转换为对象标识符。在普通的 SQL 中,我会这样做:

'my_table'::regclass::oid
我找不到用于转换值的 DataType(它存在 PostgresDataType.OID ,但不存在 PostgresDataType.REGCLASS 或类似的东西,也不推荐直接使用 PostgresDataType )。
我也玩过 DSL.inline , DSL.val ,但无法获得所需的输出。
更新
我意识到有一个 PostgresDSL.oid返回 Field<Long>并产生以下输出 "my_table".oid ,但我没有表的引用(我有表名作为文本),所以它对我的用例无效。

有没有办法通过 JOOQ 将表名转换为 Postgres 对象标识符(OID)?

最佳答案

经过一段时间的测试,我找到了一个可行的解决方案(不确定最好的)。

DSL.field("{0}::regclass::oid", DSL.inline(name))
通过这种方式,我们创建了一个“字段”,其中包含硬编码所需的所有铸件,并将值设置为绑定(bind)。

关于sql - 使用 jooq 将表名转换为 OID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64966855/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com