Search in sources :

Example 6 with InsertStatement

use of liquibase.statement.core.InsertStatement in project liquibase by liquibase.

the class InsertOrUpdateGeneratorOracleTest method testInsertSequenceValWithSchema.

@Test
public void testInsertSequenceValWithSchema() {
    OracleDatabase database = new OracleDatabase();
    InsertGenerator generator = new InsertGenerator();
    InsertStatement statement = new InsertStatement("mycatalog", "myschema", "mytable");
    ColumnConfig columnConfig = new ColumnConfig();
    columnConfig.setValueSequenceNext(new SequenceNextValueFunction("myschema.my_seq"));
    columnConfig.setName("col3");
    statement.addColumn(columnConfig);
    Sql[] sql = generator.generateSql(statement, database, null);
    String theSql = sql[0].toSql();
    assertEquals("INSERT INTO mycatalog.mytable (col3) VALUES (\"myschema\".\"my_seq\".nextval)", theSql);
}
Also used : OracleDatabase(liquibase.database.core.OracleDatabase) ColumnConfig(liquibase.change.ColumnConfig) SequenceNextValueFunction(liquibase.statement.SequenceNextValueFunction) InsertStatement(liquibase.statement.core.InsertStatement) Sql(liquibase.sql.Sql) Test(org.junit.Test)

Example 7 with InsertStatement

use of liquibase.statement.core.InsertStatement in project liquibase by liquibase.

the class InsertOrUpdateGeneratorPostgresTest method testInsertSequenceValWithSchema.

@Test
public void testInsertSequenceValWithSchema() {
    PostgresDatabase postgresDatabase = new PostgresDatabase();
    InsertGenerator generator = new InsertGenerator();
    InsertStatement statement = new InsertStatement(CATALOG_NAME, SCHEMA_NAME, TABLE_NAME);
    ColumnConfig columnConfig = new ColumnConfig();
    columnConfig.setValueSequenceNext(new SequenceNextValueFunction(SCHEMA_NAME + '.' + SEQUENCE_NAME));
    columnConfig.setName("col3");
    statement.addColumn(columnConfig);
    Sql[] sql = generator.generateSql(statement, postgresDatabase, null);
    String theSql = sql[0].toSql();
    assertEquals(String.format("INSERT INTO %s.%s (col3) VALUES (nextval('%s.%s'))", SCHEMA_NAME, TABLE_NAME, SCHEMA_NAME, SEQUENCE_NAME), theSql);
}
Also used : PostgresDatabase(liquibase.database.core.PostgresDatabase) ColumnConfig(liquibase.change.ColumnConfig) SequenceNextValueFunction(liquibase.statement.SequenceNextValueFunction) InsertStatement(liquibase.statement.core.InsertStatement) Sql(liquibase.sql.Sql) Test(org.junit.Test)

Example 8 with InsertStatement

use of liquibase.statement.core.InsertStatement in project liquibase by liquibase.

the class CustomChange method generateStatements.

@Override
public SqlStatement[] generateStatements(Database database) throws CustomChangeException {
    SqlStatement[] st = new SqlStatement[1];
    InsertStatement is = new InsertStatement(null, null, "persons");
    is.addColumnValue("id", new Integer(1));
    is.addColumnValue("firstname", "joan");
    is.addColumnValue("lastname", "pujol");
    st[0] = is;
    return st;
}
Also used : SqlStatement(liquibase.statement.SqlStatement) InsertStatement(liquibase.statement.core.InsertStatement)

Aggregations

InsertStatement (liquibase.statement.core.InsertStatement)8 Sql (liquibase.sql.Sql)4 SqlStatement (liquibase.statement.SqlStatement)4 ColumnConfig (liquibase.change.ColumnConfig)3 Column (liquibase.structure.core.Column)3 PostgresDatabase (liquibase.database.core.PostgresDatabase)2 UnexpectedLiquibaseException (liquibase.exception.UnexpectedLiquibaseException)2 InsertExecutablePreparedStatement (liquibase.statement.InsertExecutablePreparedStatement)2 SequenceNextValueFunction (liquibase.statement.SequenceNextValueFunction)2 Test (org.junit.Test)2 IOException (java.io.IOException)1 ArrayList (java.util.ArrayList)1 Change (liquibase.change.Change)1 TagDatabaseChange (liquibase.change.core.TagDatabaseChange)1 ChangeSet (liquibase.changelog.ChangeSet)1 AbstractJdbcDatabase (liquibase.database.AbstractJdbcDatabase)1 InformixDatabase (liquibase.database.core.InformixDatabase)1 MSSQLDatabase (liquibase.database.core.MSSQLDatabase)1 MySQLDatabase (liquibase.database.core.MySQLDatabase)1 OracleDatabase (liquibase.database.core.OracleDatabase)1