车皮 发表于 2018-9-12 11:57:59

Oracle表列属性修改

列属性修改
1.扩充空间
Alter table TableName modify fieldname varchar2(30);  该种方式,字段属性必须一致,如将varchar2(20) 扩充为varchar2(30),若数据表中无数据,也可将number或integer或varchar2互相修改;若表中存在数据,该方法不可取。
2.有数据记录的列属性修改:
  Sql示例:
  
alter table tableName add temp varchar2(30);  
update tableName settemp=columnName;
  
altertable tableName drop column columnName;
  
altertable tableName rename column temp to columnName;
  步骤:先添加一列,将要修改属性的那一列的值赋值给新添加的一列.即拷贝数据,然后删除要改属性的列,最后,将添加的那列改为目标修改列.
  即新建\拷贝\删除原来\新建列重命名为原来列
  缺点:目标列属性虽然得到修改,但是列的位置变为最后.插入语句若写死,程序会出现问题.


页: [1]
查看完整版本: Oracle表列属性修改