永发信息网

oracle 已经建好的表怎么修改字段大小?

答案:4  悬赏:30  手机版
解决时间 2021-04-02 07:01
  • 提问者网友:咪咪
  • 2021-04-01 13:58
oracle 已经建好的表怎么修改字段大小?
最佳答案
  • 五星知识达人网友:鸠书
  • 2021-04-01 14:45
对二楼进行补充
字段类型为
如果想改小,没有数据可能直接用 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;
全部回答
  • 1楼网友:深街酒徒
  • 2021-04-01 17:33
alter table A modify(ID NUMBER(20));
  • 2楼网友:空山清雨
  • 2021-04-01 16:30
alter table A modify column 字段 类型
  • 3楼网友:北城痞子
  • 2021-04-01 15:09
根据字段类型决定
alter table 表名 modify 字段名 varchar2(长度); 或
alter table 表名 modify 字段名 number(长度 );
只能改大。
想改小只能重新建表将数据导到新表,再将旧表drop掉。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯