在Oracle数据库处理很多列的表_Oracle大量列的处理_表列很多怎么办
2014-08-11 20:10:48  By: shinyuu

简介

今天的数据库是一个应用程序的一个重要因素。该数据库将成为日后更为复杂的一天

在本文中,我想给一个解决工作与Oracle数据库有大量列

Oracle文档的限制,我们会记得在Oracle数据库中,表将有不超过1000列

我们的解决方案是使用在我们目前的项目一个真实的例子,它将存储ISO8583格式的Oracle数据库

在金融领域工作的人都知道ISO8583格式,它的目的

但只看到ISO8583格式的128字符串数组值的数组,我们将ISO存放的128值插入表中(表有128列)


设计与实现

数据库设计、首先,我们要在Oracle数据库中创建表类型


create or replace
type ISOMESSAGE_ARRAY 
as table of varchar2(1000);
由于Oracle只支持表中不包含1000余列,所以我们只能创建1000 VARCHAR2元素的数组类型
我们将创建一个TBLISO第二件事包含128列来存储ISO8583的数据。通过运行此代码


此处为 ISO8583 的建表语句(请在源代码中下载)


我们增加了MSGIN_ID列作为表的主键、将使用序列来生成主键插入到每一次新的ISO8583的数据

不要忘了创建一个序列生成器哦


CREATE SEQUENCE  "SEQ_ISO"  MINVALUE 1 MAXVALUE 
999999999999999999999999999 INCREMENT BY 1 START 
WITH 101 CACHE 100 NOORDER  NOCYCLE ;
我们需要做的最后一件事是在一个存储过程中将数据插入到表中、有一些方法来创建这个存储过程


以正常的方式,我们将创建一个存储过程有128个输入参数,并用它在INSERT语句

但这种方式会占用大量的开发时间,如果有错误,撰写和调试、所以,我会用更简单的方式来传递参数据给存储过程:a数组输入参数解决方案

让我们运行这段代码在Oracle数据库


create or replace
package isopkg as 
  procedure insert_iso(in_isomsg IN isomessage_array);
end isopkg; 
让我们运行下面这段代码在Oracle数据库


此处的代码也是数据库建语句(请在源代码中下载)


最后就是在Java代码里面实施了、上面,我们创建表TBLISO大量列的数据库


本次会议我们将创建一个Java应用程序来解决这个数据库 、我们将使用Oracle Thin驱动程序与Oracle数据库一起工作

示例应用程序你可以在下面的链接中进行下载

源代码下载链接: http://dwtedx.com/download.html?bdkey=s/1c0xmoMk 密码: 9mdk

若资源对你有帮助、浏览后有很大收获、不妨小额打赏我一下、你的鼓励是维持我不断写博客最大动力

想获取DD博客最新代码、你可以扫描下方的二维码、关注DD博客微信公众号(ddblogs)

或者你也可以关注我的新浪微博、了解DD博客的最新动态:DD博客官方微博(dwtedx的微博)

如对资源有任何疑问或觉得仍然有很大的改善空间、可以对该博文进行评论、希望不吝赐教

为保证及时回复、可以使用博客留言板给我留言: DD博客留言板(dwtedx的留言板)

感谢你的访问、祝你生活愉快、工作顺心、欢迎常来逛逛


快速评论


技术评论

  • 该技术还没有评论、赶快抢沙发吧...
DD记账
top
+