您的位置:首页 > 数据库 > Oracle

近日小总结-关于oracle批量操作

2013-04-10 16:40 211 查看
前言————
事情总是这么不尽人意,在别人交完毕设,开心散伙饭的时候,我还在实验室,与我打了一年交道的Oracle9i继续纠缠。有人说很庆幸早点远离了MSP,我所有失必有得,问:得的是什么?答曰:只可意会不可言传。

在学习数据库批处理的时候,记得特别清楚,举的例子就是insert语句,于是给我留下了一个印象:只有insert可以执行批处理。但是面对在更新一个29w条数据的表,那种如蜗牛般的速度时,我不得不从网上找出理论支持来推翻心中的那个MS三年的印象。

1

具体例子在附件,顺便还有两个创建索引和删除索引的方法,哈哈

1.基本的insert语句批插入。这是最基本的,将要插入的参数穿过来。底下这个是sql。

12
3
4
5

PreparedStatement pstmt=null;
Vector<String[]> v_c=this.v;
String sql="insert into tb_cl(czkbj,ch,cc,fbzmc,jyzmc,cwd,qd,tlx,ddt,lybz,qb_rksj,fzmc,zzdzmc,zaz,zz,hwmc,"+
"shr,czcx,id_xd,cfsj,ddsj)   values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
pstmt=conn.conn.prepareStatement(sql);

2.从别的表查询出数据插入,带参数。

1

String sql="insert into tb_cl(select * from tb_x where name=?)";

3.更新操作,带条件。

1

String sql="update tb_cl set cwd=?,qd=?,tlx=?,ddt=?  where jyzmc=? and lybz='1' ";

4.带条件的删除。

1

sql="delete from tb_cl where ch=? and to_date(cfsj,'yyyy-mm-dd hh24:mi:ss')<to_date(?,'yyyy-mm-dd hh24:mi:ss')";

基本就这些吧。写这篇文章的目的只是想让不知道的人知道一下而已。问题本身不是难题。>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: