急急急!!! oracle中怎样在特定的列后添加新的列
比如:A表中有a,b,c,d列,现在要在b列后添加e列。表的结构变为a,b,e,c,d。并且a,b,c,d列中的数据保留...
比如:A表中有 a,b,c,d列,现在要在b列后添加e列。表的结构变为 a,b,e,c,d。并且a,b,c,d列中的数据保留
展开
4个回答
展开全部
alter table table_name add (e number(4));
oracle中不能在某列前后固定插入,只会在最后列中追加
插入新列不影响前面的数据
其实列的顺序是无所谓的,你查找的时候select a,b,e,c,d from A 不就可以了么
如果你非要这样那只能复制新的A表到B表,然后删除掉A表,并重命名B表,如:
create table B as select a,b,e,c,d from A
drop table A
alter table B rename A
oracle中不能在某列前后固定插入,只会在最后列中追加
插入新列不影响前面的数据
其实列的顺序是无所谓的,你查找的时候select a,b,e,c,d from A 不就可以了么
如果你非要这样那只能复制新的A表到B表,然后删除掉A表,并重命名B表,如:
create table B as select a,b,e,c,d from A
drop table A
alter table B rename A
展开全部
Oracle只能在原有基础上增加、删除列。而且你需要的这个结构没有必要啊,如果真的需要这种排列形式,只需要在查询时写好字段顺序就可以了。
追问
我这个表有84列。我想把新添加的这列跟相关的列放到一起,这样比较好找。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
引用lilinpu221的回答:
alter table table_name add (e number(4));
oracle中不能在某列前后固定插入,只会在最后列中追加
插入新列不影响前面的数据
其实列的顺序是无所谓的,你查找的时候select a,b,e,c,d from A 不就可以了么
如果你非要这样那只能复制新的A表到B表,然后删除掉A表,并重命名B表,如:
create table B as select a,b,e,c,d from A
drop table A
alter table B rename A
alter table table_name add (e number(4));
oracle中不能在某列前后固定插入,只会在最后列中追加
插入新列不影响前面的数据
其实列的顺序是无所谓的,你查找的时候select a,b,e,c,d from A 不就可以了么
如果你非要这样那只能复制新的A表到B表,然后删除掉A表,并重命名B表,如:
create table B as select a,b,e,c,d from A
drop table A
alter table B rename A
展开全部
我也不知道怎么在指定位置添加列,但是你说无所谓这句话是错的,如果你做ETL顺序不一样是找不到这个列的,做数据同步的时候,还有就是做装载数据等操作,因为你这里是数据文件,所有你装载的时候顺序必须一致,否则装不进去
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
alter table A add column e after b
追问
oracle里没有这种写法吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询