一、Oracle数据库操作
1、问题背景
由于项目的需要,原始的数据库设计对时间字段的处理是直接以varchar(2)的方式进行存储的,这样在没有特殊需求的时候可能在一些操作上会显得比较方便。由于项目的的扩展,现需要加入时区的概念。数据库的时间字段需要全部改为TimeStamp类型,而历史的数据则需要全部修改为TimeStamp类型。
2、实现思路
由于涉及的表的数量很大,单一的手动一张张的修改难免出现遗漏的问题,并且时间损耗太高。现给出如下解决方案:首先扫描对应的表空间下的所有字段,凡是列名中包含time的统一记录下来。以表名、字段名的方式保存到内存中,最后输出到excel文件中。生成好excel文件后,根据该文件,读出所有的表名,利用DBUnit的技术,将数据库中对应的表中的数据保存到xml文件中。第三步,扫描所有的xml文件,将对应的字段的值读出,由String类型修改为TimeStamp类型然后重新写入xml文件中;第四步,修改表结构,将原来的varchar字段修改为TimeStamp类型;第五步,将已经修改完成的备份数据(xml文件)重新导入数据库;
3、问题引入
在进行第五步的操作时,向数据库的表中插入数据时,会出现外键约束的问题。
4、解决方法
在Oracle中可以对表的外键约束进行启用和禁用的操作。
禁用外键约束
select 'alter table '||table_name||' disable constraint '||constraint_name||';'
from user_constraints
where constraint_type='R'
启用外键约束
select 'alter table '||table_name||' enable constraint '||constraint_name||';'
from user_constraints
where constraint_type='R'
删除外键约束
select 'alter table '||table_name||' drop constraint '||constraint_name||';'
from user_constraints
where constraint_type='R'
5、为简化调用,将上述实现的代码打成jar包,然后用bat文件调用jar文件。bat文件的格式如下:
@echo off
echo ************************
echo *** begin to run ******
java -jar D:/test.jar
echo *** run over ******
echo *** press any key ******
pause
分享到:
相关推荐
**信息技术个人小结工作经验** 在信息技术领域,个人工作经验的总结对于职业成长至关重要。本文通过一位从事电脑教学工作的专业人员的视角,深入剖析了其在教学实践中积累的经验与心得,不仅展现了教学过程中的策略...
新生儿窒息复苏技术培训小结.doc
此次“无菌技术培训小结”揭示了医疗机构对于这一领域的重视,并通过系统性的学习和实践,提升了全体医护人员的相关知识和技能。 首先,理解无菌技术的基本概念是至关重要的。无菌技术是指在医疗环境中采取一系列...
多媒体技术实验总结主要涵盖两个部分:Photoshop7.0应用基础和选取与编辑图片的技巧。在Photoshop7.0的应用基础实验中,主要目的是掌握新建图像和使用标尺的基本操作。实验步骤包括: 1. 使用"文件"菜单的"新建...
信息技术教学工作总结是对一个学期或一年来信息技术教学活动的全面反思和评估,旨在提炼经验,发现问题,为未来教学提供改进的方向。以下将详细探讨信息技术教学的主要方面及其重要性,以及如何进行有效的教学总结。...
从给定的文件标题“计算机网络技术小总结”和描述“此为计算机网络技术的一些总结,希望对你有用!”中,我们可以推断出该文件旨在提供关于计算机网络技术的基础知识和实用技巧的概述。尽管部分内容似乎包含了一些...
实习生认为,几个月来,自己虽然努力做了一些工作,但距离领导的要求还有不小差距,如理论水平、工作能力上还有待进一步提高,对口腔医学技术岗位工作岗位还不够熟悉等等。他们决心实习报告在今后的工作和学习中努力...
大数据处理技术的总结与分析报告 本文对大数据处理技术进行了总结和分析,涵盖了事务型处理、数据统计分析和数据挖掘三个方面的知识点。 事务型处理 事务型处理是指在实际生活中常见的数据处理需求,例如淘宝交易...
你可以提到你在什么项目、岗位或时间段内工作,以及为什么觉得有必要进行技术总结。例如,你可能在完成一个重大项目后,为了记录并提炼从中学习到的关键技术和管理经验而撰写这份小结。 2. 经历体会:这是小结的...
总体而言,航空摄影地形测量技术总结报告汇集了多种技术和标准,从使用的无人机设备、影像数据处理到最终的测量成果,都体现了这一领域在精确度、效率和应用范围上的高度发展。通过这样的技术,可以快速准确地获取和...
这份"PHP技术总结"文档涵盖了多个方面的PHP知识,包括上传流程、FTP操作以及API接口设计,这些都是PHP开发者日常工作中不可或缺的技能。 首先,"Fotomore上传流程小结.zip"可能是一个关于图像处理和上传过程的案例...
- 5G+垂直行业承载需求总结:各个垂直行业对带宽、时延、可靠性的不同需求推动了小颗粒技术的发展,以实现定制化的网络服务。 2.2 专线业务的小颗粒典型应用场景 - 政务专线业务:政府机构对于数据安全和传输速度有...
【土建技术员工作小结】的文档主要涵盖了土建技术员在建筑工程中扮演的角色、工作内容、工作方法以及工作中遇到的问题与改进措施。以下是基于文档内容的重点知识点解析: 1. **工作准备**: - **熟悉图纸及标准**...
总结来说,中小企业技术创新对于国家经济的持续增长和国际竞争力的提升具有不可忽视的贡献。政府、企业和学术界应共同合作,通过提供适宜的环境和资源,促进中小企业的技术创新活动,推动经济社会的绿色、可持续发展...
数字媒体技术专业实习总结范文.docx
模拟电子技术基础知识点总结 模拟电子技术基础知识点总结是电子技术的基础部分,包括半导体、二极管、三极管等基础知识点的总结。 一、半导体基础知识点: 1. 半导体的定义:半导体是一种导电能力介于导体和绝缘...
【技术员个人小结范文】 本文是对一位技术员工作经历的详细总结,涵盖了他在大路桥梁工程技术领域的专业知识、实践经验以及技术创新。技术员自xxxx年起,先后从事大路养护、桥梁建设、工程技术管理等多个岗位,积累...
《模拟电子技术总结的知识点》 模拟电子技术是电子工程领域中的基础学科,涉及半导体器件、放大电路、信号处理等方面。以下是对该技术关键知识点的详细解析: **1. 半导体基础知识** - **N型半导体**:通过掺入五...
微信小程序框架是腾讯推出的一种轻量级应用开发平台,它允许开发者通过编写JavaScript、WXML(微信小程序标记语言)和WXSS(微信小...在实际开发过程中,不断总结和分享经验,与同行交流,是提升技术能力的有效途径。