oracle 如何修改表字段的类型或者长度

mac2026-01-27  5

分两种情况:

1.表中没有数据的情况,直接一条sql语句就能解决

alter     table    表名    modify(字段名   字段类型 )

例:

alter table A modify(name varchar2(4000))

2.在表中有数据的情况下,不能直接使用modify,否则会报错,如图

思路分4段,先将原字段改个名字,然后新增一个列,这个新增的列名跟原字段列名一致,然后将原字段中的数据复制进新增字段中即可,最后删除改了名字的字段。

如:创建的表student如图

但想改SAGE字段的长度为3, 此时可以这样做:

1)把sage列重命名为age

2)然后新增一个Sage字段,此时要写成我想要的字段长度或者类型

3)然后复制原有数据到新创建的列上面

4) 最后使用alter table student drop column name;语句删除修改了的字段。

其他列想改的也可以照此操作。

此时明显看到表字段已经修改

最新回复(0)