1,修改表字段类型,以下操作以表 t_menu 的 is_delete 字段为例

1,字段数据为空,或者有数据但是不修改类型 并 做扩容操作

alter table t_menu modify (is_delete varchar2(18));

2,字段有数据,需要修改数据类型,或者字段有数据不修改数据类型,但是要减小容量

alter table t_menu rename column is_delete to temp_is_delete;  -- 修改需要修改的字段为临时字段
alter table t_menu add is_delete varchar2(18);                 -- 新增需要修改成的字段,这里先不添加约束,防止新增失败
update t_menu t set t.is_delete = t.temp_is_delete;            -- 临时字段赋值给新字段,这里需要确保数据能放得下
alter table t_menu drop column  temp_is_delete;                -- 删除临时字段

-- 做完上面的步骤后,就可以给字段加上约束了
alter table t_menu modify is_delete default '0';               -- 默认值
alter table t_menu modify is_delete not null;                  -- 不为空
posted on 2020-04-17 13:41  被遗忘的优雅  阅读(194)  评论(0编辑  收藏  举报