表值函数
适用于 ✅ 开源版 ✅ 专业版 ✅ 企业版
jOOQ 在许多数据库中支持表值函数,包括 Oracle、PostgreSQL、SQL Server。 默认情况下,表值函数被视为
- 在包括 PostgreSQL、SQL Server 在内的大多数数据库中是普通表 - 因为它们就是表。 它们旨在用于 SELECT 语句的 FROM 子句中,而不是作为独立的例程。
- 在一些数据库中,包括 Oracle,是普通的例程 - 由于历史原因。 虽然 Oracle 也允许在 SELECT 语句的 FROM 子句中嵌入(管道化)表函数,但在 Oracle 中将它们作为独立例程调用也很常见。
因此,<tableValuedFunctions/>
标志在 Oracle 上默认设置为 false
,在其他情况下设置为 true
。 以下是如何显式更改此行为
XML(独立和 Maven)
编程方式
Gradle(Kotlin)
Gradle(Groovy)
Gradle(第三方)
<configuration> <generator> <database> <tableValuedFunctions>true</tableValuedFunctions> </database> </generator> </configuration>
有关更多详细信息,请参见配置 XSD,独立代码生成,以及maven 代码生成。
new org.jooq.meta.jaxb.Configuration() .withGenerator(new Generator() .withDatabase(new Database() .withTableValuedFunctions(true) ) )
import org.jooq.meta.jaxb.* configuration { generator { database { isTableValuedFunctions = true } } }
有关更多详细信息,请参见配置 XSD和gradle 代码生成。
configuration { generator { database { tableValuedFunctions = true } } }
有关更多详细信息,请参见配置 XSD和gradle 代码生成。
// The jOOQ-codegen-gradle plugin has been introduced in version 3.19. // Please use the official plugin instead of the third party plugin that was recommended before.
反馈
您对此页面有任何反馈吗? 我们很乐意听到!