Oracle
发布时间:2022-05-17 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了oracle字段类型转换的处理,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
Oracle的CLOB类型数据处理:
http://donald-draper.iteye.com/admin/blogs/2335296
Oracle中表列由
varchar2类型改成CLOB :
http://code.js-code.com/article/p-bgtkrfwe-bct.html
@H_617_0
@mysqL中把一个表的数据批量导入另一个表中:
http://blog.csdn.net/evan_endian/article/details/8652528
Oracle中表列由
varchar2类型改成CLOB文章中方式是,
假设要将test的表中col字段(VARCHAR2),改为CLOB,
以下所有测试
在Navicat环境下:表名带引号,
在SQLPluS,则不用,注意区分
首先将添加temp字段
alter table "test" add "temp" CLOB;
updatE "test" SET "temp" = "col";
当表字段顺序无关时,则删除指定的列,
alter table "test" drop column "col";
然后修改temp字段为col
alter table "test" Rename columN "temp" TO "col";
这种方案,是在字段顺序无关,当与顺序有关,且col字段为主键
不能为NULL,这时
怎么办呢?
假设原表为product,product含有一个字段为
fallTime(
date),且为主键,不为空,现需要将
fallTime字段改为
varchar类型;
如果直接导出sql脚本,修
改表结构,及数据,任务繁琐,同时sql脚本中的,记录往往是分条insert
实例如下:
insert into product ....;
insert into product ....;
.....
这种脚本跑的相当慢,
有人建议,将insert放在Begin和commit之间一次提交,
而不是insert一条记录,要commit一次;还
有人建议修改为,如下形式:
insert into product values XXX,YYY,......
这两种方式我没用,你可以试试;
如果用临时字段转换,因为要修改字段
fallTime的类型,而
fallTime又是主键,不能直接修改
fallTime字段类型
,这是
因为修改fallTime字段,
fallTime
列值必须为null,而
fallTime又是主键,又不能为空,这个如何是好?
下面将介绍一种方案:
首先将导出product结构,包括主键,索引,表注释和字段注释等信息,修
改表结构,将
fallTime的DATE类型修改为
varchar,根据
修改后的表结构信息创建test表,注意test表中的
fallTime字段为varchar
1.在test表中添加临时转化字段:
alter table "test" add "temp" varchar2(10);
2.然后将product的数据导入到test中:
INSERT INTO "test" select t.*,"TO_CHAR"(t.fallTime,'YYYY-MM-DD') FROM product t;
3.如果
fallTime可以为null则执行下面语句:
updatE "test" SET "fallTime" = NulL;
updatE "test" SET "fallTime" = "temp";
不能为空则执行下面语句:
updatE "test" SET "fallTime" = "temp";
4.然后删除product,删除test的temp列:
alter table "test" drop column "temp";
5.重名test为product
即可。
其中1,2的另一种方法:
先保证表结构相同,先
插入数据
INSERT INTO "test" select t.* FROM product t;
在添加列
alter table "test" add "temp" varchar2(10);
再更新列
updatE product SET "temp" = "TO_CHAR"(fallTime,'YYYY-MM-DD');
总结:
针对列顺序无关的,则直接新建临时字段,删除先前字段,重名临时字段即可;对于字段顺序有关,且字段不能为空的,copy表结构,并修改需要更改的字段的类型,新建临时字段,将需要转换的字段数据插入到临时字段,然后将临时字段,update and set到需要更改类型字段,删除临时字段,修改表名,即可。大佬总结
以上是大佬教程为你收集整理的oracle字段类型转换的处理全部内容,希望文章能够帮你解决oracle字段类型转换的处理所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。