查看: 6615|回复: 27

[SQL] 【大话IT】关于ORACLE添加列

[复制链接]
论坛徽章:
2
优秀写手
日期:2014-08-05 06:00:13巨蟹座
日期:2015-08-12 14:22:58
发表于 2015-2-4 15:31 | 显示全部楼层 |阅读模式
有一张表,名字为:table_name,有二个字段,分别为:ID  和  SEX,现在需要加一列 NAME
普通的添加列为以下脚本,但只能添加在所有字段的最后一列
alter table table_name add name varchar(40);
现在需要添加在ID和SEX中间,求方法,谢谢

论坛徽章:
737
季节之章:春
日期:2015-07-31 17:16:29ITPUB季度 技术新星
日期:2014-07-17 14:37:00季节之章:秋
日期:2015-07-31 17:16:14季节之章:夏
日期:2015-07-31 17:16:29股神
日期:2014-10-15 09:23:31衰神
日期:2014-10-20 22:47:12季节之章:冬
日期:2015-07-31 17:16:14红钻
日期:2014-12-16 17:51:41洛杉矶湖人
日期:2016-09-23 08:18:15布鲁克林篮网
日期:2016-09-23 08:17:18
发表于 2015-2-4 15:37 | 显示全部楼层
rebuild table

使用道具 举报

回复
论坛徽章:
2
优秀写手
日期:2014-08-05 06:00:13巨蟹座
日期:2015-08-12 14:22:58
 楼主| 发表于 2015-2-4 15:41 | 显示全部楼层
oracle_cj 发表于 2015-2-4 15:37
rebuild table

只能重建数据库?

使用道具 举报

回复
论坛徽章:
737
季节之章:春
日期:2015-07-31 17:16:29ITPUB季度 技术新星
日期:2014-07-17 14:37:00季节之章:秋
日期:2015-07-31 17:16:14季节之章:夏
日期:2015-07-31 17:16:29股神
日期:2014-10-15 09:23:31衰神
日期:2014-10-20 22:47:12季节之章:冬
日期:2015-07-31 17:16:14红钻
日期:2014-12-16 17:51:41洛杉矶湖人
日期:2016-09-23 08:18:15布鲁克林篮网
日期:2016-09-23 08:17:18
发表于 2015-2-4 15:47 | 显示全部楼层
重建表啊

这样也不用耗脑去思考其他方法了

隐式列的方法不知可行不

使用道具 举报

回复
认证徽章
论坛徽章:
24
路虎
日期:2015-04-14 15:21:15兰博基尼
日期:2015-03-25 16:53:53暖羊羊
日期:2015-06-09 16:42:10美羊羊
日期:2015-05-19 08:24:58美羊羊
日期:2015-05-19 08:25:32慢羊羊
日期:2015-06-01 08:17:54
发表于 2015-2-4 15:58 | 显示全部楼层
12C里的列好像有个属性可以设置的吧,记得看过类似的帖子。

如果重建的话不是主键索引之类的都要重建?

使用道具 举报

回复
认证徽章
论坛徽章:
32
懒羊羊
日期:2015-03-25 16:16:10ITPUB14周年纪念章
日期:2015-10-26 17:24:11射手座
日期:2015-09-23 08:53:55喜羊羊
日期:2015-06-15 13:04:17暖羊羊
日期:2015-05-21 16:12:35沸羊羊
日期:2015-05-07 17:25:26暖羊羊
日期:2015-05-21 16:12:35暖羊羊
日期:2015-05-21 16:12:35慢羊羊
日期:2015-04-21 17:07:36慢羊羊
日期:2015-03-25 09:38:59
发表于 2015-2-4 16:22 | 显示全部楼层
为什么一定要放中间啊  select的时候 把字段写中间不就好了

使用道具 举报

回复
认证徽章
论坛徽章:
55
优秀写手
日期:2015-02-12 06:00:13秀才
日期:2016-02-18 10:07:49秀才
日期:2016-02-18 10:08:142016猴年福章
日期:2016-02-23 09:58:34猴赛雷
日期:2016-02-23 10:04:24紫水晶
日期:2016-04-01 12:19:28双子座
日期:2016-04-28 10:19:29秀才
日期:2016-06-23 14:15:06奥运会纪念徽章:曲棍球
日期:2016-08-30 13:12:24奥运会纪念徽章:体操
日期:2016-09-26 11:24:37
发表于 2015-2-4 16:33 | 显示全部楼层
你就先添加到里面,然后重新建一张表,create table tb as select A,C,B from 旧表

使用道具 举报

回复
认证徽章
论坛徽章:
222
2010新春纪念徽章
日期:2010-03-01 11:20:51ITPUB元老
日期:2019-04-25 13:46:07至尊黑钻
日期:2015-02-15 09:47:47至尊黑钻
日期:2015-08-13 13:38:122015年中国系统架构师大会纪念徽章
日期:2015-07-31 17:48:202015中国数据库技术大会纪念徽章
日期:2015-05-15 14:08:23管理团队2007贡献徽章
日期:2015-01-19 09:48:27海蓝宝石
日期:2017-04-21 09:23:17红宝石
日期:2015-02-03 10:26:04海蓝宝石
日期:2015-02-03 10:23:39
发表于 2015-2-4 17:20 | 显示全部楼层
原表有 AB两列
增加 C 列到最后
增加 D 列到最后
更新 D 列的数据为 B 列
干掉 B 列
重命名 D 列为 B 列

使用道具 举报

回复
论坛徽章:
3
优秀写手
日期:2013-12-18 09:29:132014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02
发表于 2015-2-4 17:26 | 显示全部楼层
修改数据字典表 sys.col$

使用道具 举报

回复
论坛徽章:
3
优秀写手
日期:2014-03-04 06:00:13马上有对象
日期:2014-03-25 09:37:36秀才
日期:2015-09-14 10:08:30
发表于 2015-2-4 17:49 | 显示全部楼层
有过这样的困惑,研究一番后只能重建表。8楼的方法列数多就不好使了。

使用道具 举报

回复

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

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表