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

 我来答
manferri
2011-06-10
知道答主
回答量:6
采纳率:0%
帮助的人:9317
展开全部
根据字段类型决定
alter table 表名 modify 字段名 varchar2(长度); 或
alter table 表名 modify 字段名 number(长度 );
只能改大。
想改小只能重新建表将数据导到新表,再将旧表drop掉。
me...2@126.com
2011-06-10 · TA获得超过187个赞
知道答主
回答量:117
采纳率:0%
帮助的人:123万
展开全部
alter table A modify(ID NUMBER(20));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gorica
2011-06-10 · TA获得超过505个赞
知道小有建树答主
回答量:546
采纳率:0%
帮助的人:290万
展开全部
alter table A modify column 字段 类型
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
带着光圈的小鸡
推荐于2017-11-24 · 超过31用户采纳过TA的回答
知道答主
回答量:80
采纳率:0%
帮助的人:49.9万
展开全部
对二楼进行补充
字段类型为
如果想改小,没有数据可能直接用 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条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式