当前位置:操作系统 > Unix/Linux >>

关于修改数据库字段的方法

--在工作中我们会经常碰到临时需要修改数据库中表字段

--这里我来给大家介绍下方法,希望能帮助到大家
create table class_use
(
 id number (19 ),
 name varchar2 (50 ),
 birthday Date default sysdate,
 age number (19 )
)
 
select * from class_use --for update
---通过上面的语句
alter table CLASS_USE modify AGE varchar2( 19 );
---执行时候会报下面的错误
--在工作中我们会经常碰到临时需要修改数据库中表字段
--这里我来给大家介绍下方法,希望能帮助到大家

 
---下面我来介绍2种方式
--1.将表备份
create table class_user_temp as select * from class_use;
select * from class_user_temp;
update class_use c
set c .age = null;
select * from class_use
--再来执行
alter table CLASS_USE modify AGE varchar2( 19);
update CLASS_USE cc
set cc .age =( select temp .age from class_user_temp temp
 where temp .id = cc.id );

---2.添加字段
alter table CLASS_USE add age1 number( 19);
update CLASS_USE c
set c .age1 = c.age ;
select * from CLASS_USE
alter table CLASS_USE drop column age;
alter table CLASS_USE rename column AGE1 to AGE ;
 
select * from CLASS_USE

---下面我来介绍2种方式
--1.将表备份
create table class_user_temp as select * from class_use;
select * from class_user_temp;
update class_use c
set c .age = null;
select * from class_use
--再来执行
alter table CLASS_USE modify AGE varchar2( 19);
update CLASS_USE cc
set cc .age =( select temp .age from class_user_temp temp
 where temp .id = cc.id );

---2.添加字段
alter table CLASS_USE add age1 number( 19);
update CLASS_USE c
set c .age1 = c.age ;
select * from CLASS_USE
alter table CLASS_USE drop column age;
alter table CLASS_USE rename column AGE1 to AGE ;
 
select * from CLASS_USE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,