如何在不删除表数据的情况下将列的DATA TYPE从number更改为varchar2?
你不能.
原文链接:https://www.f2er.com/oracle/205312.html但是,您可以使用新数据类型创建新列,迁移数据,删除旧列,并重命名新列.就像是
ALTER TABLE table_name ADD( new_column_name varchar2(10) ); UPDATE table_name SET new_column_name = to_char(old_column_name,<<some format>>); ALTER TABLE table_name DROP COLUMN old_column_name; ALTER TABLE table_name RENAME COLUMN new_column_name TO old_coulumn_name;
如果你的代码取决于表中列的位置(你真的不应该有),你可以重命名表并在表上创建一个视图,其中包含公开列中的列的表的原始名称.订购您的代码,直到您可以修复该错误的代码.