alter table add column改变增加列的位置顺序,该如何处理
1个回答
展开全部
alter table add column改变增加列的位置顺序
在oracel中用alter table add column增加的列总是在表的最后一列上,我想自已改变这个列的位置,比如增加在第3列的后面这样,请高手指教
------解决方案--------------------------------------------------------好像不行吧,除非删掉重建
------解决方案--------------------------------------------------------重建表吧 否则不行
------解决方案--------------------------------------------------------那样做是不行的
------解决方案--------------------------------------------------------列的位置建好后没法改变。
------解决方案--------------------------------------------------------把数据备份好,重建表,再把数据恢复回来 是 最简单的办法。。。。
------解决方案--------------------------------------------------------可以用来选择的方法是:
假设你的表为 table1
字段列表为:
f1 varchar2(10)
f2 varchar2(20)
f3 number(3)
如果你想把表变成
f1 varchar2(10)
f_new varchar2(20)
f2 varchar2(20)
f3 number(3)
那么你需要这样创建一个表:
create table table2 as select f1, '11 ' as f_new,f2,f3 from table1;
这样修正这个表:
alter table table2 modify (f_new varchar2(20))
删掉原来的表:
drop table table1;
修改当前的表名:
rename table2 to table1;ok.
------解决方案--------------------------------------------------------还需要手工删掉 f_new中的数据:
------解决方案--------------------------------------------------------重建表。。。别想太麻烦了
在oracel中用alter table add column增加的列总是在表的最后一列上,我想自已改变这个列的位置,比如增加在第3列的后面这样,请高手指教
------解决方案--------------------------------------------------------好像不行吧,除非删掉重建
------解决方案--------------------------------------------------------重建表吧 否则不行
------解决方案--------------------------------------------------------那样做是不行的
------解决方案--------------------------------------------------------列的位置建好后没法改变。
------解决方案--------------------------------------------------------把数据备份好,重建表,再把数据恢复回来 是 最简单的办法。。。。
------解决方案--------------------------------------------------------可以用来选择的方法是:
假设你的表为 table1
字段列表为:
f1 varchar2(10)
f2 varchar2(20)
f3 number(3)
如果你想把表变成
f1 varchar2(10)
f_new varchar2(20)
f2 varchar2(20)
f3 number(3)
那么你需要这样创建一个表:
create table table2 as select f1, '11 ' as f_new,f2,f3 from table1;
这样修正这个表:
alter table table2 modify (f_new varchar2(20))
删掉原来的表:
drop table table1;
修改当前的表名:
rename table2 to table1;ok.
------解决方案--------------------------------------------------------还需要手工删掉 f_new中的数据:
------解决方案--------------------------------------------------------重建表。。。别想太麻烦了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询