【问题标题】:Create or replace view with liquibase on DB2在 DB2 上使用 liquibase 创建或替换视图
【发布时间】:2019-04-05 14:15:36
【问题描述】:

我想使用 liquibase 及其 changeSet 标签在 DB2 上创建或替换视图:XML Sample

这是我在 changelog.xml 文件中包含的内容:

<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    logicalFilePath="lon-service-mpd/gin/15.100/15.100.0.0.changelog.xml"
    xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
        http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd">

    <changeSet author="mas-gin-gestion-echelon-service" id="create-view-from-table-periodeavancement-type-personnel">
        <createView schemaName="GIN" viewName="V_PERIODEAVANCEMENT_1">select IDPERIODE, CAMPAGNETA from GIN.PERIODEAVANCEMENT</createView>
    </changeSet>

</databaseChangeLog>

但是,在创建视图期间,DB2 返回以下错误liquibase.exception.DatabaseException: DB2 SQL Error: SQLCODE=-206, SQLSTATE=42703

即使 SQL 语法正确,我也找不到解决问题的方法。

【问题讨论】:

标签: db2 liquibase create-view


【解决方案1】:

我已通过直接调用 sql 文件而不是使用 XML sample 来解决此问题。这是我的解决方案:

<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
logicalFilePath="mas-gin-gestion-echelon-service-mpd/gin/15.100/15.100.0.0.changelog.xml"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
    http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd">

<changeSet id="create_view_periodeavancement" author="mas-gin-gestion-echelon-service">
    <sqlFile path="sql/create_view_periodeavancement.sql" relativeToChangelogFile="true"/>
</changeSet>

还有sql文件:

CREATE OR REPLACE VIEW GIN.V_PERIODEAVANCEMENT_1 (IDPERIODE, TS_INSERT, BL_DELETE ) 
AS SELECT IDPERIODE, TS_INSERT, BL_DELETE
FROM PERIODEAVANCEMENT;

【讨论】:

    猜你喜欢
    • 2023-04-11
    • 1970-01-01
    • 2018-06-10
    • 1970-01-01
    • 2010-11-17
    • 1970-01-01
    • 1970-01-01
    • 2019-01-24
    • 1970-01-01
    相关资源
    最近更新 更多