Requiring a
THEN
clause for the body of a branch, in case of which no
BEGIN .. END block
is required for multi-statement bodies.
Allowing a dedicated
ELSIF
clause for alternative, nested branches, to avoid nesting. This is mostly a syntax sugar feature only.
insertInto(A).columns(A.COL).values(1)
).elsif(i.eq(1)).then(
insertInto(B).columns(B.COL).values(2)
).else_(
insertInto(C).columns(C.COL).values(3)
if_(i.eq(0)).then(deleteFrom(BOOK)).else_(deleteFrom(AUTHOR))
Translates to the following dialect specific expressions:
-- AURORA_POSTGRES, DB2, EXASOL, HANA, HSQLDB, INFORMIX, MARIADB, MYSQL, ORACLE, POSTGRES, YUGABYTEDB
IF i = 0 THEN
DELETE FROM BOOK;
DELETE FROM AUTHOR;
END IF
-- BIGQUERY
IF i = 0 THEN
DELETE FROM BOOK
WHERE TRUE;
DELETE FROM AUTHOR
WHERE TRUE;
END IF
-- FIREBIRD
IF (:i = 0) THEN
DELETE FROM BOOK;
DELETE FROM AUTHOR;
-- H2
if (i = 0) {
try (PreparedStatement s = c.prepareStatement(
"DELETE FROM BOOK"
s.execute();
} else {
try (PreparedStatement s = c.prepareStatement(
"DELETE FROM AUTHOR"
s.execute();
-- SQLDATAWAREHOUSE, SQLSERVER
IF @i = 0
DELETE FROM BOOK;
DELETE FROM AUTHOR;
-- ACCESS, ASE, AURORA_MYSQL, COCKROACHDB, DERBY, DUCKDB, MEMSQL, REDSHIFT, SNOWFLAKE, SQLITE, SYBASE, TERADATA, TRINO,
-- VERTICA
/* UNSUPPORTED */
(These are currently generated with jOOQ 3.20, see #10141), or translate your own on our website