Available in versions: Dev (3.16) | Latest (3.15) | 3.14 | 3.13 | 3.12 | 3.11 | 3.10 | 3.9 | 3.8 | 3.7

SQL Statements (DDL)

Applies to ✅ Open Source Edition   ✅ Express Edition   ✅ Professional Edition   ✅ Enterprise Edition

The Data Definition Language (DDL) is used to CREATE, ALTER, and DROP various object types in the database catalog. jOOQ supports an increasing number of these operations natively, and also adds synthetic operation support for convenience.

While many DDL statements are supported natively, and have a 1:1 correspondence to the jOOQ API's representation, dialects differ in many subtle ways when it comes to DDL statement support. These differences may include:

  • Different keywords to mean the same thing. For example, the keywords ALTER, CHANGE, or MODIFY may be used when altering columns or other attributes in a table.
  • Different statements instead of subclauses. For example, some dialects may choose to support RENAME [object type] .. TO .. statements instead of making the rename operation a subclause of ALTER [object type] .. RENAME TO ..
  • Some syntax may not be supported, or not be supported consistently, such as the various IF EXISTS and IF NOT EXISTS clauses. Emulations are possible using the dialect's procedural language

Because of these many differences, the jOOQ manual will not list each individual native SQL representation of each jOOQ API call. Also, some optional clauses may exist, such as the IF EXISTS or OR REPLACE clauses, which can easily be discovered from the API. The manual will omit documenting these clauses in every example.

Table of contents

4.4.1.
The ALTER statement
4.4.1.1.
ALTER DATABASE
4.4.1.2.
ALTER DOMAIN
4.4.1.3.
ALTER INDEX
4.4.1.4.
ALTER SCHEMA
4.4.1.5.
ALTER SEQUENCE
4.4.1.6.
ALTER TABLE
4.4.1.7.
ALTER TYPE
4.4.1.8.
ALTER VIEW
4.4.2.
The COMMENT statement
4.4.3.
The CREATE statement
4.4.3.1.
CREATE DATABASE
4.4.3.2.
CREATE DOMAIN
4.4.3.3.
CREATE FUNCTION (new)
4.4.3.3.1.
Scalar functions (new)
4.4.3.3.2.
CREATE OR REPLACE FUNCTION (new)
4.4.3.3.3.
SQL data access characteristics (new)
4.4.3.3.4.
DETERMINISTIC characteristic (new)
4.4.3.3.5.
ON NULL INPUT characteristic (new)
4.4.3.4.
CREATE INDEX
4.4.3.5.
CREATE PROCEDURE (new)
4.4.3.5.1.
CREATE OR REPLACE PROCEDURE (new)
4.4.3.5.2.
SQL data access characteristics (new)
4.4.3.6.
CREATE SCHEMA
4.4.3.7.
CREATE SEQUENCE
4.4.3.8.
CREATE TABLE
4.4.3.9.
CREATE TRIGGER (new)
4.4.3.9.1.
Events (new)
4.4.3.9.2.
REFERENCING clause (new)
4.4.3.9.3.
STATEMENT vs ROW triggers (new)
4.4.3.9.4.
WHEN clause (new)
4.4.3.10.
CREATE TYPE
4.4.3.11.
CREATE VIEW
4.4.4.
The DROP statement
4.4.4.1.
DROP DATABASE
4.4.4.2.
DROP DOMAIN
4.4.4.3.
DROP FUNCTION (new)
4.4.4.4.
DROP INDEX
4.4.4.5.
DROP PROCEDURE (new)
4.4.4.6.
DROP SCHEMA
4.4.4.7.
DROP SEQUENCE
4.4.4.8.
DROP TABLE
4.4.4.9.
DROP TRIGGER (new)
4.4.4.10.
DROP TYPE
4.4.4.11.
DROP VIEW
4.4.5.
The GRANT statement
4.4.6.
The REVOKE statement
4.4.7.
The SET statement
4.4.8.
The TRUNCATE statement
4.4.9.
Generating DDL from objects

The jOOQ User Manual : SQL building : SQL Statements (DDL)previous : next

Feedback

Do you have any feedback about this page? We'd love to hear it!

The jOOQ Logo