最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

修改Oracle数据库表中的字段的顺序

来源:懂视网 责编:小采 时间:2020-11-09 11:55:32
文档

修改Oracle数据库表中的字段的顺序

修改Oracle数据库表中的字段的顺序:都说写程序与数据库表字段的顺序没有关系,可是做过实际的项目之后才知道,对于操作数据库的人来说,数据库表的字段顺序可能是很 都说写程序与数据库表字段的顺序没有关系,可是做过实际的项目之后才知道,对于操作数据库的人来说,数据库表的字段顺序可能
推荐度:
导读修改Oracle数据库表中的字段的顺序:都说写程序与数据库表字段的顺序没有关系,可是做过实际的项目之后才知道,对于操作数据库的人来说,数据库表的字段顺序可能是很 都说写程序与数据库表字段的顺序没有关系,可是做过实际的项目之后才知道,对于操作数据库的人来说,数据库表的字段顺序可能

都说写程序与数据库表字段的顺序没有关系,可是做过实际的项目之后才知道,对于操作数据库的人来说,数据库表的字段顺序可能是很

都说写程序与数据库表字段的顺序没有关系,可是做过实际的项目之后才知道,对于操作数据库的人来说,数据库表的字段顺序可能是很繁琐的,比如需要往表中增加字段,,但不希望把字段放到表的最后。通过用过Oracle的人都知道,要想在ORACLE中更改表的列名和顺序可是一件很烦琐的事,下面给大家提供一种简单的方法。

用SYSTEM登录sqlplus进行操作,因为这需要dba

第一步,从数据字典视图查询出表的id

SQL> select object_id from all_objects where owner='SCOTT' and object_name='T1';

OBJECT_ID
----------
6067

第二步,通过id查出该表中所有字段的顺序

SQL> select obj#,col#,name from sys.col$ where obj#=6067;

OBJ# COL# NAME
--------------------
6067 1 ID
6067 2 NAME

第三步,更新字段的顺序
SQL> update sys.col$ set ,col#=3 where obj#=6067 and;

1 row updated.

SQL> update sys.col$ set,col#=1 where obj#=6067 and;

1 row updated.

SQL> update sys.col$ set col#=2 where obj#=6067 and col#=3;

1 row updated.

SQL> commit;

完成.

SQL> select * from scott.t1;

ID NAME
---------- --------------------
3 cheng
2 yong
1 xin
2 gototop
1 topcio
2 yongxin
1 cyx

7 rows selected.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup
ORACLE instance started.

Total System Global Area 128159368 bytes
Fixed Size 732808 bytes
Variable Size 117440512 bytes
Database Buffers 8388608 bytes
Redo Buffers 1597440 bytes
Database mounted.
Database opened.

SQL> select * from scott.t1;

MY_NAME NEW_ID
-------------------- ----------
cheng 3
yong 2
xin 1
gototop 2
topcio 1
yongxin 2
cyx 1

7 rows selected.

第四步、 重启数据库服务。

由于数据字典是在数据库启动时加载到SQL中的,所以修改了它之后,如果使用“SELECT * FROM SCOTT.TEST; ”,会发现好像并没有修改。因此,修改完成之后,还需要重启数据库服务。

SQL>SHUTDOWN

SQL>STARTUP
这时,再查看,就会发现修改已经成功。

到此为止我们已经把SCOTT.T1表中的列名和顺序都给改了,如果你只想改变顺序而不想改变列名,只需再进行UPDATE就可以了,之所以不能一次完成是因为SYS.COL$中COL#,NAME都是UNIQUE的。

这种方法虽然存在一定风险,但对于特别大的表效果是很明显的,而用一般的方法将需要更多的存储空间、回滚段和时间开销。

linux

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

修改Oracle数据库表中的字段的顺序

修改Oracle数据库表中的字段的顺序:都说写程序与数据库表字段的顺序没有关系,可是做过实际的项目之后才知道,对于操作数据库的人来说,数据库表的字段顺序可能是很 都说写程序与数据库表字段的顺序没有关系,可是做过实际的项目之后才知道,对于操作数据库的人来说,数据库表的字段顺序可能
推荐度:
标签: 更改 修改 修改的
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top