文章摘要
这篇文章描述了在数据库中进行字段修改的操作过程。首先,尝试修改表中COL1的数据类型为NUMBER(10),修改成功,因为表中无数据。接着插入测试数据。随后尝试修改COL2为VARCHAR2(20),但因表中已存在数据而被拒绝。为解决此问题,作者采用了缓存表的方法:创建临时表T_TABLE1,将原表数据复制过去并删除原表数据。最终,成功修改COL1为NUMBER(9)和COL2为VARCHAR2(20),并恢复原表数据。
– 尝试修改
— 修改成功,因为表中无数据
ALTER TABLE TABLE1 MODIFY COL1 NUMBER(10);
— 修改成功,因为表中无数据
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;
© 版权声明
文章版权归作者所有,未经允许请勿转载。



