oracle设置字段顺序

阿阳888 2007-11-25 03:56:33
假设有:
create or replace table1(a number(10) not null,b varchar2(10));

现在我想增加一个字段c varchar2(10)放到a字段与b字段之间,怎办?

因为alter table table1 add c varchar2(10),增加的列是放在b之后,但现在我想把其放在b字段之前怎办?
...全文
1745 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ihany 2012-07-23
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]
果然是该说的都说了,没什么好说的了。楼主该得到明确答案了吧?Oracle不会那么傻,去做一个没什么实际意义的功能的。
[/Quote]
有意义的,在设计改修时,最好是按着变更后的设计书顺序来加,这样在编码,测试的时候会省不少工时。
advanceadvice 2007-11-27
  • 打赏
  • 举报
回复
果然是该说的都说了,没什么好说的了。楼主该得到明确答案了吧?Oracle不会那么傻,去做一个没什么实际意义的功能的。
bugchen888 2007-11-27
  • 打赏
  • 举报
回复
To 楼主,

为什么要这么做?
yanxw_227 2007-11-26
  • 打赏
  • 举报
回复
怎么说呢,直接的办法没有,间接的办法楼上都给出来了~
以前用过sql server可以,oracle不可以。
这个问题对真正的编程没有什么影响!
Croatia 2007-11-26
  • 打赏
  • 举报
回复
对于新手,不推荐使用修改数据字典的方式。

推荐,DROP --> CREATA方式。

可以把数据保存到一个临时表,建立新表以后,导回来。
chunjuntang 2007-11-26
  • 打赏
  • 举报
回复
在数据字典中直接修改表列的名称和顺序
http://www.examda.com/oracle/jishu/20070616/091238690.html
chunjuntang 2007-11-26
  • 打赏
  • 举报
回复
如果是oracle的话,可以到数据字典去改列的顺序
flingstar 2007-11-25
  • 打赏
  • 举报
回复
oracle中好像不太容易改变字段的位置。在toad或pl/sql工具中只能在查询结果集显示中将字段进行调整,但也不能改变数据在oracle中实际存储的顺序。(事实证明也没有非要把新加的字段插入在某字段之前的必要,很多时候这种问题可以在select的时候手写字段顺序来解决,比如你可以写select a,c,b from table1,而且这种查询效率要优于select * from table1)
解决的办法一是把建新表,再把原表删掉:
alter table table1 add c varchar2(10);
create table table2 as select a,c,b from table1;
drop table table1;
办法二是建一个视图,在视图里按自己的意愿排序:
alter table table1 add c varchar2(10);
create view table1_view as select a,c,b from table1;
ruihuahan 2007-11-25
  • 打赏
  • 举报
回复
好像没有什么好办法。
drop掉,重新create吧。呵呵。

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧