Module org.jooq
Package org.jooq

Interface DDLQuery

All Superinterfaces:
Attachable, AttachableQueryPart, Flow.Publisher<Integer>, Publisher<Integer>, org.reactivestreams.Publisher<Integer>, Query, QueryPart, RowCountQuery, Serializable, Statement
All Known Subinterfaces:
AlterDatabaseFinalStep, AlterDomainDropConstraintCascadeStep, AlterDomainFinalStep, AlterIndexFinalStep, AlterSchemaFinalStep, AlterSequenceFinalStep, AlterSequenceFlagsStep<T>, AlterSequenceStep<T>, AlterTableAddStep, AlterTableDropStep, AlterTableFinalStep, AlterTableUsingIndexStep, AlterTypeFinalStep, AlterViewFinalStep, CommentOnFinalStep, CreateDatabaseFinalStep, CreateDomainConstraintStep, CreateDomainDefaultStep<T>, CreateDomainFinalStep, CreateIndexFinalStep, CreateIndexIncludeStep, CreateIndexWhereStep, CreateSchemaFinalStep, CreateSequenceFinalStep, CreateSequenceFlagsStep, CreateTableAsStep, CreateTableCommentStep, CreateTableElementListStep, CreateTableFinalStep, CreateTableOnCommitStep, CreateTableStorageStep, CreateTableWithDataStep, CreateTypeFinalStep, CreateViewFinalStep, DropDatabaseFinalStep, DropDomainCascadeStep, DropDomainFinalStep, DropIndexCascadeStep, DropIndexFinalStep, DropIndexOnStep, DropSchemaFinalStep, DropSchemaStep, DropSequenceFinalStep, DropTableFinalStep, DropTableStep, DropTypeFinalStep, DropTypeStep, DropViewFinalStep, GrantFinalStep, GrantWithGrantOptionStep, QOM.AlterDatabase, QOM.AlterDomain<T>, QOM.AlterIndex, QOM.AlterSchema, QOM.AlterSequence<T>, QOM.AlterType, QOM.AlterView, QOM.CommentOn, QOM.CreateDatabase, QOM.CreateDomain<T>, QOM.CreateFunction, QOM.CreateIndex, QOM.CreateProcedure, QOM.CreateSchema, QOM.CreateSequence, QOM.CreateTable, QOM.CreateTrigger, QOM.CreateType, QOM.CreateView<R>, QOM.DropDatabase, QOM.DropDomain, QOM.DropFunction, QOM.DropIndex, QOM.DropProcedure, QOM.DropSchema, QOM.DropSequence, QOM.DropTable, QOM.DropTrigger, QOM.DropType, QOM.DropView, QOM.Grant, QOM.Revoke, QOM.Truncate<R>, RevokeFinalStep, Truncate<R>, TruncateCascadeStep<R>, TruncateFinalStep<R>, TruncateIdentityStep<R>

public interface DDLQuery extends RowCountQuery
A marker interface for all DDL queries.

A lot of DDL queries come with syntax that requires emulation using anonymous blocks via DSL.begin(Statement...). While basic anonymous blocks are supported in the jOOQ Open Source Edition as well, more sophisticated blocks and other procedural logic is a commercial only feature. Examples for this are:

  • Various IF [ NOT ] EXISTS clauses.
  • ALTER VIEW … AS (emulated via a block containing DROP VIEW and then CREATE VIEW).
Author:
Lukas Eder