a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 85|回复: 0

[其他] Oracle认证:Oracle修改字段类型的步骤

[复制链接]
发表于 2012-8-4 13:41:06 | 显示全部楼层 |阅读模式
以下的文章首要描述的是Oracle改削字段类型现实操作方案,我们巨匠都知道Oracle改削字段类型的现实应用中是较为常见的,体味其现实的操作轨范仍是有必然益处的,下面就是文章的具体内容的介绍。   因为营业需要,修要改削某个字段数据类型有number(5),变为number(5,2)型0 C. o! v  J/ c  \* c3 h4 ]
  c若是没稀有据的话直接用以下语句即可* D" ~4 u6 B+ b. D3 M
  1.alter table tb_test modify permile number(5,2);
1 r2 l2 d8 [3 \& D  可是稀有据的话 就不能用膳缦沔体例了,- W8 ~$ b# U7 ]4 z
  1.alter table tb_test add permile_temp number(5,2)
' J% j# c% D( L! `- G6 A  2.update tb_test set permilepermile_temp=permile;
* ^* r2 F( r8 F1 w0 a" ]3 r  w- N3 F  3.alter table drop column permile;4 D7 u8 x7 H0 \" B3 o& ~
  4.alter table test rename column permile_temp to permile;# R1 D" G$ I! F  u: o
  Oracle改削字段类型这种体例会使列名发生转变,而且字段挨次增添 有可能发生行迁移,对应用轨范会发生影响
9 X' v5 J! l" p  以下体例是斗劲好的体例: a" G0 }) e) @1 W& H& I
  不用使列名发生转变 也不会发生表迁移,但这个有个错误谬误是表要更新两次3 q" G7 u5 e% r2 o7 f4 L1 h9 [
  如不美观数据量较大的话 发生的undo和redo更多 ,前提也是要停机做% v$ p6 ^' ]8 o
  若是不竭机的话 ,也可以采用在线重界说体例来做
  E- p) I1 q  G* ?1 O  以下是剧本:/ C+ |4 F# C8 E% r+ W9 ?+ T
  1.alter table tb_test add permile_temp number;
9 }0 w, ^7 N3 }5 F8 h  2.Add/modify columns
' i3 q' F& d7 z5 R2 M  3.alter table tb_test modify PERMILE null;
" O- y/ r+ V9 y1 Q: g  4.update tb_test set permilepermile_temp=permile,permile=null;
8 F5 b* z" |, f( z/ v+ R  5.commit;
1 b- w0 W, H7 ]7 J# W8 p' H  6.alter table tb_test modify permile number(5,2);+ ~, c1 ]# w% T# n& O- F
  7.update tb_test set permile=permile_temp,permile_temp=null;
9 T: w1 {" z: b6 y1 R  8.commit;
; x# l  l4 x) T  9.alter table tb_test drop column permile_temp;
* r2 P1 h" e( @$ l& i  10.alter table tb_test modify PERMILE not null;
* R' X* J3 v. @  11.select * from tb_test ;% s  l6 O0 j# Y' _% q
  以上的相关内容就是对Oracle改削字段类型的体例的介绍,望你能有所收成。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-4 20:47 , Processed in 0.194581 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表