--在工作中我们会经常碰到临时需要修改数据库中表字段
--这里我来给大家介绍下方法,希望能帮助到大家
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