【问题标题】:WITH statement in JOOQ?JOOQ 中的 WITH 语句?
【发布时间】:2014-08-06 03:54:21
【问题描述】:

我有 MS-SQL 和 Oracle 的查询,但我想转换成 Jooq。我也在尝试类似 DSL.connectByRoot(field) 但我无法找到这个解决方案。主要问题是在 Oracle 中我们使用子句 connect by prior,但它在 MS-SQL 中不可用。

MS-SQL 查询:

WITH tempTable(ppCode, pCode) AS (
  SELECT DefaultProcessDependent.PriorProcessCode,  ProcessCode 
  FROM DefaultProcessDependent
  WHERE DefaultProcessDependent.ProcessCode = ? 
  AND DefaultProcessDependent.FolderType  = ? 
  UNION ALL
  SELECT nplus1.PriorProcessCode, nplus1.ProcessCode
  FROM DefaultProcessDependent as nplus1, tempTable
  WHERE tempTable.ppCode = nplus1.ProcessCode
)
SELECT ppCode FROM tempTable

ORACLE 查询:

Select processCode 
from DefaultProcessDependent 
start with  DefaultProcessDependent.ProcessCode = ? 
connect by prior processCode = priorProcessCode

请大家帮帮我......

谢谢

【问题讨论】:

    标签: java sql database orm jooq


    【解决方案1】:

    Common table expressions will be supported with jOOQ 3.4。 jOOQ 也将 emulate CONNECT BY 用于其他数据库,但这在 jOOQ 3.4 中尚不可用。

    【讨论】:

      猜你喜欢
      • 2020-10-05
      • 2014-05-30
      • 2020-10-07
      • 1970-01-01
      • 2017-11-12
      • 1970-01-01
      • 2022-01-24
      • 1970-01-01
      • 2020-02-29
      相关资源
      最近更新 更多