Liquibase вставить вычисленное значение с несколькими строками sql

#sql #liquibase

#sql #liquibase

Вопрос:

Я хочу вставить несколько строк в xxx_table с помощью liquibase.

 <changeSet id="XXX" author="XXX">
    <comment>Add default values to xxx_table table</comment>
    <insert tableName="xxx_table">
        <column name="group_id"
                valueComputed="(SELECT group_id FROM subscriber)"/>
        <column name="business_name"
                valueComputed="(SELECT business_name FROM subscriber)"/>
        <column name="created_stamp" valueComputed="CURRENT_TIMESTAMP"/>
        <column name="last_updated_stamp" valueComputed="CURRENT_TIMESTAMP"/>
    </insert>
    <rollback/>
</changeSet>
 

Сценарий Liquibase завершается с ошибкой, поскольку из ‘(ВЫБЕРИТЕ название компании ИЗ подписчика)’ возвращается более одной строки. Как я могу вставить несколько raw в таблицу?

Комментарии:

1. Вам необходимо ограничить выбор строк одним, указав предложение where с надлежащим условием в ваших операторах select. Операторы Select приводят более одного значения, что вызывает сбой

2. Пожалуйста, опубликуйте ошибку. Используйте LogLevel=debug в командной строке или в вашем файле liquibase.properties и опубликуйте все содержимое. Здесь проще сделать то, что вы хотели бы: forum.liquibase.org