Oracle在表中有数据的情况下修改字段类型或长度的解决方法(oracle修改表的字段)没想到

随心笔谈2年前发布 编辑
188 0
🌐 经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用 点我优惠购买
🚀 拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多 点我优惠购买
🛡️ 稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少 点我优惠购买

– 尝试修改
— 修改成功,因为表中无数据
ALTER TABLE TABLE1 MODIFY COL1 NUMBER(10);

— 插入数据
INSERT INTO TABLE1 (COL1, COL2) VALUES (1, ‘test’);

— 再次尝试修改
— 修改失败,因为表中已有数据,不允许直接操作
ALTER TABLE TABLE1 MODIFY COL2 VARCHAR2(20);

— 先缓存表
CREATE TABLE T_TABLE1 AS SELECT * FROM TABLE1;

— 删除原表所有数据
DELETE FROM TABLE1;

— 修改字段
— 修改成功
ALTER TABLE TABLE1 MODIFY COL1 NUMBER(9);
— 修改成功
ALTER TABLE TABLE1 MODIFY COL2 VARCHAR2(20);

— 插入原数据
INSERT INTO TABLE1 SELECT * FROM T_TABLE1;

— 删除缓存表
DROP TABLE T_TABLE1;

© 版权声明

相关文章