需求:ID栏位在创建的时候是varchar类型,后续要修改为number类型
因为oracle修改表栏位类型的时候需要栏位内没有数据,因此无法直接把ID从varchar修改为number
1.新建一个栏位,存储ID的值
ALTER TABLE OWNER.TABLE_NAME ADD(ID_BAK NUMBER);
2.将ID的值更新进新栏位
UPDATE OWNER.TABLE_NAME SET ID_BAK=ID; COMMIT;
3.删除掉ID栏位
ALTER TABLE OWNER.TABLE_NAME DROP COLUMN id;
4.修改ID_BAK栏位名称
ALTER TABLE OWNER.TABLE_NAME RENAME COLUMN id_bak TO id;
5.重新编译USERBY