Interface SqlStatement

All Known Subinterfaces:
CallableSqlStatement, CompoundStatement, ExecutablePreparedStatement
All Known Implementing Classes:
AbstractSqlStatement, AddAutoIncrementStatement, AddColumnStatement, AddDefaultValueStatement, AddForeignKeyConstraintStatement, AddPrimaryKeyStatement, AddUniqueConstraintStatement, AlterSequenceStatement, BatchDmlExecutablePreparedStatement, ClearDatabaseChangeLogTableStatement, CommentStatement, CopyRowsStatement, CreateDatabaseChangeLogLockTableStatement, CreateDatabaseChangeLogTableStatement, CreateIndexStatement, CreateProcedureStatement, CreateSequenceStatement, CreateTableStatement, CreateViewStatement, DeleteStatement, DropColumnStatement, DropDefaultValueStatement, DropForeignKeyConstraintStatement, DropIndexStatement, DropPrimaryKeyStatement, DropProcedureStatement, DropSequenceStatement, DropTableStatement, DropUniqueConstraintStatement, DropViewStatement, ExecutablePreparedStatementBase, FindForeignKeyConstraintsStatement, GetNextChangeSetSequenceValueStatement, GetViewDefinitionStatement, InitializeDatabaseChangeLogLockTableStatement, InsertExecutablePreparedStatement, InsertOrUpdateStatement, InsertSetStatement, InsertStatement, LockDatabaseChangeLogStatement, MarkChangeSetRanStatement, ModifyDataTypeStatement, RawCallStatement, RawCompoundStatement, RawParameterizedSqlStatement, RawSqlStatement, ReindexStatement, RemoveChangeSetRanStatusStatement, RenameColumnStatement, RenameSequenceStatement, RenameTableStatement, RenameViewStatement, ReorganizeTableStatement, RuntimeStatement, SelectFromDatabaseChangeLogLockStatement, SelectFromDatabaseChangeLogStatement, SetColumnRemarksStatement, SetNullableStatement, SetTableRemarksStatement, SetViewRemarksStatement, StoredProcedureStatement, TableIsEmptyStatement, TableRowCountStatement, TagDatabaseStatement, UnlockDatabaseChangeLogStatement, UpdateChangeSetChecksumStatement, UpdateChangeSetFilenameStatement, UpdateExecutablePreparedStatement, UpdateStatement

public interface SqlStatement
The SqlStatement classes correspond to (roughly) a single SQL statement. SqlStatement instances are created by Change classes, and by Liquibase itself as the primary database-independent abstraction of statements to execute against a database.

A single SqlStatement may yield multiple SQL commands, and may yield a different number of SQL commands depending on the database. If a particular statement. The SqlStatement implementations do not actually generate SQL strings, that is left to the SqlGenerator implementations. Instead, the purpose of the SqlStatement implementation is to hold the metadata required to generate the correct SQL for a particular database at a later time.

See Also:
  • Field Details

  • Method Details

    • skipOnUnsupported

      boolean skipOnUnsupported()
    • continueOnError

      boolean continueOnError()
    • getFormattedStatement

      default String getFormattedStatement(Database database)
      Returns a formatted SQL string representation of this statement for the specified database.

      This method uses the SqlGeneratorFactory to generate the appropriate SQL based on the provided database. If the database parameter is null, it falls back to using the toString() method of this statement.

      Parameters:
      database - The target database for which to format the SQL statement
      Returns:
      A string containing the formatted SQL statement for the specified database