Oracle中已有数据的字段类型修改

创建测试表

create table t_person(

id varchar2(200) primary key,

name varchar2(200),

address varchar2(200)

);

向测试表中插入数据

insert into t_person(id,name,address) values(sys_guid(),‘zhangsan‘,‘beijing‘);

insert into t_person(id,name,address) values(sys_guid(),‘lisi‘,‘shangqiu‘);

条件:想把address的varchar2类型改为clob类型

(1)把原字段换个名字,address改为myaddress

alter table t_person rename column address to myaddress;

(2)在表中添加一个原字段名字 address 并把类型定义为自己想改变的类型,这里是clob

alter table t_person add address clob;

(3)

把备份的myaddress字段内容添加到新建字段address中来

update t_person set address = myaddress;

(4)把备份字段myaddress删除

alter table t_person drop column myaddress;

时间: 2024-11-18 14:18:32

Oracle中已有数据的字段类型修改的相关文章

oracle处理已有数据的字段(主键)类型修改方法

来自本人oracle最新sql回忆性演练1一篇博文http://blog.csdn.net/luozhonghua2014/article/details/45729669 只所以重新发布一次,就是抽取经验,让大家可以找到解决方法 --------处理已有数据的字段类型修改(前4步操作会使表中的约束丢失) --1重命名字段 alter table example rename column id to sid; --2添加id字段 alter table example add id varch

Oracle中修改已存在数据的字段类型

原字段类型为varchar2,实际上均为数字,想将字段类型改为number,报错ORA-01439: column to be modified must be empty to change datatype 解决方法: tablename为表名称,colname为要修改的字段名 alter table tablename add tempcolumn varchar2(100);--添加临时字段tempcolumn update tablename set tempcolumn=colnam

Oracle中的BLOB和CLOB字段类型的区别

1.BLOB是按二进制来存储的,而CLOB是可以直接存储文字的: 2.BLOB字段可以存储图片.文件和音乐等,而CLOB可以存储文章或较长文字的内容.

oracle中使用impdp数据泵导入数据提示“ORA-31684:对象类型已经存在”错误的解决

转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/47448751 oracle中使用impdp数据泵导入数据时,假设导入之前已经创建了用户,会提示错误:"ORA-31684:对象类型已经存在".如: 事实上这个问题并不严重,能够先不创建用户,导入时指定一个超级用户导入: impdp system/123456@ORCL DIRECTORY=DUMP_EXP DUMPFILE=EXPDATA.DMP remap_sche

oracle中imp导入数据中文乱码问题(转)

(转自  http://blog.chinaunix.net/uid-186064-id-2823338.html) oracle中imp导入数据中文乱码问题 用imp命令向oracle中导入数据后,所有查询出的中文字段都为乱码. 原则上不修改服务器端的字符集,修改服务器端的字符集会出现使用第三方工具登陆数据库出现乱码的情况(具体服务器端的字符集修改办法本文有详细介绍). 将DMP文件的字符集改成与Oracleo数据库服务器端一样之后导入可正常显示.本人的系统是RHEL 5.4 32bit 一.

oracle中导入导出数据备份数据库

原文:oracle中导入导出数据备份数据库 数据库所在位置                         将数据导出到的文件名                    用户名 备份数据库 :exp csm/[email protected]/orcl file=c:/baoan_1.1.0_20120816.dmp owner=(csm) 数据库所在位置                         需要导入数据的文件名 恢复数据库 :imp csm/[email protected]/orc

ORACLE—001:Alter之增加字段,修改字段类型

--积累工作中用到的SQL 1.增加和删除一列 写法: --增加一列      alter table  表名 add  列名 类型;      --删除一列      alter table  表名 drop column 列名 ; 例如: --增加一列      alter table  TB_TEMP add  COL_ID  VARCHAR2(40);      --删除一列      alter table TB_TEMP  drop column COL_ID  ; 2.修改列的类型

【转】oracle 中随机取数据的方法

oracle 中随机取数据的方法: 1.快速随机取数据(推荐使用): select * from MEMBER sample(1) where rownum <= 10 2.随机取数据,较慢 select * from (  select * from MEMBER order by dbms_random.value) where rownum<=10 ========原文======== 最近在做系统时用到了随机抽取记录的问题: 上网上查找了很多相关资料,发现了不同的方法及其差异.都是基于

Oracle 修改带数据的字段类型

http://www.cnblogs.com/LDaqiang/articles/1157998.html由于需求变动,现要将一个类型NUMBER(8,2)的字段类型改为 char.大体思路如下:      将要更改类型的字段名改名以备份,然后添加一个与要更改类型的字段名同名的字段(原字段已经改名),然后更新数据,最后删除改名备份的字段. 以下操作在 Oracle 10.2.0.1.0 中通过. 1./*修改原字段名*/ALTER TABLE 表名 RENAME COLUMN 字段名 TO 字段