码迷,mamicode.com
首页 > 数据库 > 详细

oracle修改表结构

时间:2017-12-28 18:21:17      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:oracl   key   table   prim   upd   数据类型   drop   解决   执行   

语句:
alter table tableName rename column oldCName to newCName; -- 修改字段名
alter table tableName modify (cloumnName 数据类型); -- 修改数据类型

例如:
1、创建表:
  CREATE TABLE Student(
    id varchar2(32) primary key,
    name varchar2(8) not null,
    age number
  );
2、修改字段名:
  alter table Student rename name to StuName;
3、修改数据类型:
  alter table Student modify (id varchar2(64));

执行以下语句报"要修改数据类型,则要更改的列必须为空"
      alter table 表名 modify (目标字段 varchar2(100));

解决步骤:

第一步,在表中加一个临时字段
      alter table 表名 add 临时字段 目标字段原来的类型;

第二步,将目标字段的值付给临时字段,并将目标字段置空
      update 表名 set 临时字段=目标字段,目标字段=null;

第三步,修改目标类型
      alter table 表名  modify 目标字段 varchar2(100);

第四步,将临时字段的值付给目标字段,并将临时字段置空
      update 表名 set 目标字段=临时字段,临时字段=null;

最后一步,删除临时字段
      alter table 表名 drop column 临时字段;

oracle修改表结构

标签:oracl   key   table   prim   upd   数据类型   drop   解决   执行   

原文地址:https://www.cnblogs.com/raorao1994/p/8136924.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!