使用Liquibase修改Oracle中包含数据的列的dataType

Fra*_*ser 5 oracle liquibase

我正在尝试将数据类型从NUMBER(10,0)修改为NUMBER(30,0),对照包含这些列中数据的数据库.我必须使用liquibase.我使用以下内容:

<modifyDataType tableName="tableName" columnName="columnsName" newDataType="NUMBER(38,0)"/>
Run Code Online (Sandbox Code Playgroud)

但是对于列中包含数据的表,我收到以下错误:

Caused by: java.sql.SQLException: ORA-01440: column to be modified must be empty to decrease precision or scale
Run Code Online (Sandbox Code Playgroud)

并且不会迁移该列.可以通过此方法将包含数据的列迁移到新类型吗?

Pet*_*ton 0

检查以确保该列具有您怀疑的数据类型。如果原始数据类型为 NUMBER(N,0),其中 N < 38,则您的迁移将起作用。