Oracle 是否可以使用liquibase更新数据库中的现有行?

Oracle 是否可以使用liquibase更新数据库中的现有行?,oracle,database,liquibase,Oracle,Database,Liquibase,试图找到这个问题的答案,但没有找到 例如,我有一张表: 表格: col1 | col2 123 0 124 1 我想把col2的值改为1,我就是这样做的: <changeSet author="myName" id="7799"> <sql> UPDATE TABLENAME; SET COL1='1' WHERE col1='123'; </sql> </chan

试图找到这个问题的答案,但没有找到

例如,我有一张表:

表格:

col1 | col2
123       0
124       1
我想把col2的值改为1,我就是这样做的:

<changeSet author="myName" id="7799">
        <sql>
        UPDATE TABLENAME;
        SET COL1='1' WHERE col1='123';
        </sql>
</changeSet>

更新表名;
设置COL1='1',其中COL1='123';

唉,它不起作用。所以,我想知道是否有可能用liquibase来做?因为,文档中的大多数标记都与创建表、添加列等有关。

您可以使用以下liquibase语法进行更新:

<changeSet author="myname" id="7799">
    <update catalogName="dbname"
            schemaName="public"
            tableName="TABLENAME">
        <column name="COL1" value='1' type="varchar(50)"/>
        <where>col1='123'</where>
    </update>
</changeSet>

col1='123'

有关其他可用选项,请查看
tablename
之后的code>错误。
终止一条语句,而不是一行。下次请包括错误信息。“不工作”一点帮助都没有(除非错误很明显)你好,谢谢你的回复。我试过了;没有;->同样的结果。现在,我希望我有一条错误消息,因为这样我至少知道出了什么问题,但是应用程序执行时没有任何错误、警告或异常。只是我想在数据库中进行的更改,不是吗。您确定更改集已经针对您的数据库执行了吗?例如,如果您运行“changelogSync”命令,这会将变更集标记为在数据库中执行,而不会实际运行SQL语句。随后运行liquibase不会执行标记为先前运行的变更集。您应该明确地向问题添加更多信息。如果您想操作数据,基本上这就是使用liquibase的方法。它确实有效。很难想象liquibase可以正常执行,但不会产生任何错误。添加命令行(或您使用的任何命令行)以运行liquibase。添加liquibase返回的内容的输出(即使它不包含错误)。您好,我在文档中没有看到任何
标记,而是
。我看不到与
SET COLUMN=Columnnewvalue
的等价性,我看到的只是
updatetablename where col1='123'
。如果我错了,请纠正我。谢谢