oracle修改表栏位类型

需求: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

posted @ 2019-09-20 17:07  monkey6  阅读(921)  评论(0编辑  收藏  举报