Oracle | ORA-01439:要修改的列必须为空才能更改数据类型。无法将数据类型编号更改为nvarchar在oracle 10g中

时间:2015-01-19 13:20:14

标签: oracle oracle10g alter-table

我希望它不会删除和移动数据。

我无法将数据类型编号更改为nvarchar在oracle 10g中。它的显示消息如ORA-01439:要修改的列必须为空才能更改数据类型。

我的表和列中的数据已经设置为NOT NUll,因此我无法将其设置为null或空白。 并且Altering列是主键,它是与外键相关的表数。

是否有任何快速解决方案来修复它。

1 个答案:

答案 0 :(得分:3)

  1. 使用新名称添加新列。
  2. 从旧列更新新列。
  3. 放下旧栏。
  4. 使用旧列名重命名新列。
  5. 注意我看到您还提到了 Oracle 11g 标记,但是您的问题是您使用的是10g。如果您使用11g或以上,则可以使用 VIRTUAL COLUMN