数据库

 首页 > 数据库 > Oracle > oracle修改某个字段的数据类型三种方式

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

分享到:
【字体:
导读:
         摘要:oracle修改某个字段的数据类型三种方式1.将该列设置为null,再修改其类型(这样会丢失数据)2.最简单的方法:假设你的表名为tab_targetcreatetabletestasselect*fromtab_targetwhre12;alter... SyntaxHighli...

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

oracle 修改某个字段的数据类型三种方式
 
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;   www.2cto.com  
rename test to tab_target;
 
3.(idea:将要更改类型的字段名改名以备份,然后添加一个与要更改类型的字段名同名的字段(原字段已经改名),然后更新数据,最后删除改名备份的字段)
 
/*修改原字段名*/
ALTER TABLE 表名 RENAME COLUMN 字段名 TO 字段名1;
/*添加一个和原字段同名的字段*/
ALTER TABLE 表名 ADD 字段名  VARCHAR2(30);
/*  www.2cto.com  
将原来的数据更新到新字段中
这是要注意,一定要显示进行数据类型转换(不同于MSSQL)
*/
UPDATE 表名 SET 字段名 = CAST(字段名1 AS VARCHAR2(30));
/*删除原来的备份字段*/
ALTER TABLE 表名 DROP COLUMN 字段名1;
 
 
 
摘自 jihuanliang的专栏
oracle修改某个字段的数据类型三种方式
分享到:
ORA-01461:can bind a LONG value only f...
ORA-01461:can bind a LONG value only for insert into a LONG column的解决方法 ORA-01461:can bind a LONG value only for insert into a LONG column的解决方法   我用的环境是ssh+oracle11.0 出现这错误很有可能是你驱动的问题    因为之前那项目是用的mysql数据库,所以用ojdbc14这驱动没一点问题,但是后来我改...
在Oracle各启动模式间切换及受限状态、只...
在Oracle各启动模式间切换及受限状态、只读状态详解 使用Alter Database语句,在各启动模式间切换。   1.从NoMount模式切换到Mount模式(没有从mount切换到nomount的):   命令:ALTER DATABASE MOUNT;   2.当数据库状态为关闭时,切换到Open模式   命令:ALTER DATABASE OPEN;   www.2cto.com   3.在Open模式下,还...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……