可用版本:Dev (3.21) | 最新 (3.20) | 3.19 | 3.18 | 3.17 | 3.16 | 3.15 | 3.14 | 3.13 | 3.12 | 3.11

表值函数

适用于 ✅ 开源版   ✅ 专业版   ✅ 企业版

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)
    )
  )

有关更多详细信息,请参见配置 XSD程序化代码生成

import org.jooq.meta.jaxb.*


configuration {
  generator {
    database {
      isTableValuedFunctions = true
    }
  }
}

有关更多详细信息,请参见配置 XSDgradle 代码生成

configuration {
  generator {
    database {
      tableValuedFunctions = true
    }
  }
}

有关更多详细信息,请参见配置 XSDgradle 代码生成

// 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.

反馈

您对此页面有任何反馈吗? 我们很乐意听到!

The jOOQ Logo