Oracle修改字段类型和长度,oracle修改字段
Oracle修改字段名
alter table 表名 rename column 旧字段名 to 新字段名
Oracle修改字段类型和长度
alter table 表名 modify 字段名 数据类型
如果是修改数据类型比如由varchar2修改为int且字段内有值,会报如下错误
解决方法参考:http://blog.csdn.net/itmyhome1990/article/details/8681206
转载请注明出处:http://blog.csdn.net/itmyhome1990/article/details/38869647
使用rename关键字来实现字段名的修改:alter table 表名 rename column旧的字段名 to 新的字段名名;
使用modify关键字来实现对数据类型的修改:alter table 表名 modify 字段名 数据类型;
对二楼进行补充
字段类型为
如果想改小,没有数据可能直接用 alter table table_name modify column datatype;
如果有数据,改小的话可以会丢失数据。
比如:
表:stu(name varchar2(20)) 要将字段name的长度改为10
表中有一条数据:name(中国华西村刀光剑影) 长度超过10,截取的时候必然要丢失数据。
当然 如果表中的数据长度都小于10,则可以用sql语句段来直接搞定。
begin
alter table stu add (name2 varchar2(10)); 增加新字段
update stu set name2=substr(trim(name),1,10); 赋值给新字段
alter table stu drop(name); 删除原字段
alter table stu rename column name2 to name; 将新字段改名
end;
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。