声明与引用
适用于 ✅ 开源版 ✅ 专业版 ✅ 企业版
// Alias the table BOOK Book b = BOOK.as("B"); // Use the alias as a reference create.select(b.ID) // Use the alias as a declaration .from(b) .fetch();
在上面的例子中,当引用表别名时,jOOQ 只渲染别名,即 B
。当声明表别名时,jOOQ 会同时渲染原始表及其别名,即 BOOK as B
。
虽然偶尔进入第三种渲染模式(仅渲染原始表 BOOK
,忽略别名)可能看起来很有用,但事实并非如此。 如果你想访问原始表(或列)引用,只需在你的代码中保留对它的引用即可。
暴露此行为的类型
以下类型的 org.jooq.QueryPart
暴露了这种上下文相关的渲染行为
-
org.jooq.Table
: 表表达式可以是 别名表,可以在 FROM 子句 或其他语句的类似子句中声明。 -
org.jooq.Field
: 字段表达式可以是 别名列,可以在 SELECT 子句 或各种语句的 RETURNING 子句 中声明。 -
org.jooq.CommonTableExpression
: 公用表表达式可以在各种语句的 WITH 子句 中声明。 -
org.jooq.WindowDefinition
: 窗口定义可以在 WINDOW 子句 中声明 SELECT 语句。 -
org.jooq.Parameter
: 例程参数可以在 CREATE FUNCTION 或 CREATE PROCEDURE 语句中声明。
反馈
您对此页面有任何反馈吗? 我们很乐意听到!