Available in versions: Dev (3.19) | Latest (3.18) | 3.17 | 3.16 | 3.15 | 3.14 | 3.13 | 3.12 | 3.11 | 3.10 | 3.9
The TRUNCATE statement
Applies to ✅ Open Source Edition ✅ Express Edition ✅ Professional Edition ✅ Enterprise Edition
Even if the
TRUNCATE statement mainly modifies data, it is generally considered to be a DDL statement. It is popular in many databases when you want to bypass constraints for table truncation. Databases may behave differently, when a truncated table is referenced by other tables. For instance, they may fail if records from a truncated table are referenced, even with
ON DELETE CASCADE clauses in place. Please, consider your database manual to learn more about its
TRUNCATE syntax is trivial:
TRUNCATE is not supported by all dialects. jOOQ will execute a
DELETE FROM AUTHOR statement instead, which is roughly equivalent.
This example using jOOQ:
Translates to the following dialect specific expressions:
-- ACCESS, FIREBIRD, SQLITE, TERADATA DELETE FROM AUTHOR -- ASE, AURORA_MYSQL, AURORA_POSTGRES, BIGQUERY, COCKROACHDB, DERBY, DUCKDB, EXASOL, H2, HANA, HSQLDB, INFORMIX, MARIADB, -- MEMSQL, MYSQL, ORACLE, POSTGRES, REDSHIFT, SNOWFLAKE, SQLDATAWAREHOUSE, SQLSERVER, SYBASE, TRINO, VERTICA, YUGABYTEDB TRUNCATE TABLE AUTHOR -- DB2 TRUNCATE TABLE AUTHOR IMMEDIATE
(These are currently generated with jOOQ 3.19, see #10141), or translate your own on our website
Do you have any feedback about this page? We'd love to hear it!