With
Definition
The with
method allows you to add the WITH
clause to the query.
Available methods
1. with(
KCommonTableExpressionFilled...
kCommonTableExpressionsFilled)
- kCommonTableExpressionsFilled: are all Common Table Expressions or CTEs that will be added to the
WITH
clause.
Method hierarchy
The with
method can be used right after the following methods or objects:
and the subsequent method that can be called is:
Example
Java code:
final KValues languages = values()
.append("Language 1")
.append("Language 2");
final KCommonTableExpressionFilled languagesCte =
cte("language_cte")
.as(
k
.insertInto(LANGUAGE)
.columns(LANGUAGE.NAME)
.values(languages)
.returning(val(1).as("tenant"), LANGUAGE.ID.noTableAlias()),
"la_cte"
);
final KQuery subQueryInsert =
k
.select(languagesCte.c("tenant"), languagesCte.c("id"))
.from(languagesCte);
k
.with(languagesCte)
.insertInto(TENANT_LANGUAGE)
.columns(TENANT_LANGUAGE.TENANT_ID, TENANT_LANGUAGE.LANGUAGE_ID)
.select(subQueryInsert)
.execute();
SQL generated:
WITH language_cte AS (
INSERT INTO language (name)
VALUES (?1), (?2)
RETURNING ?3 AS "tenant", id
)
INSERT INTO tenant_language (tenant_id, language_id)
SELECT la_cte.tenant, la_cte.id
FROM language_cte la_cte
Parameters:
- ?1: "Language 1"
- ?2: "Language 2"
- ?2: 1