Home  >  Article  >  Database  >  Oracle 修改某个字段的数据类型三种方式

Oracle 修改某个字段的数据类型三种方式

WBOY
WBOYOriginal
2016-06-07 17:13:122444browse

1.将该列设置为null,再修改其类型(这样会丢失数据) 2.最简单的方法: 假设你的表名为 tab_target create table test as select

1.将该列设置为null,再修改其类型(这样会丢失数据)

2.最简单的方法:
假设你的表名为 tab_target
create table test  as select * from tab_target whre 1=2;
alter table test modify (col_name number(5));
insert into test select * from tab_target;
drop table tab_target;
rename test to tab_target;

3.(idea:将要更改类型的字段名改名以备份,然后添加一个与要更改类型的字段名同名的字段(原字段已经改名),然后更新数据,最后删除改名备份的字段)

/*修改原字段名*/
ALTER TABLE 表名 RENAME COLUMN 字段名 TO 字段名1;
/*添加一个和原字段同名的字段*/
ALTER TABLE 表名 ADD 字段名  VARCHAR2(30);
/*
将原来的数据更新到新字段中
这是要注意,,一定要显示进行数据类型转换(不同于MSSQL)
*/
UPDATE 表名 SET 字段名 = CAST(字段名1 AS VARCHAR2(30));
/*删除原来的备份字段*/
ALTER TABLE 表名 DROP COLUMN 字段名1;

更多Oracle相关信息见Oracle 专题页面 ?tid=12

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn