前言————
事情总是这么不尽人意,在别人交完毕设,开心散伙饭的时候,我还在实验室,与我打了一年交道的Oracle9i继续纠缠。有人说很庆幸早点远离了MSP,我所有失必有得,问:得的是什么?答曰:只可意会不可言传。
在学习数据库批处理的时候,记得特别清楚,举的例子就是insert语句,于是给我留下了一个印象:只有insert可以执行批处理。但是面对在更新一个29w条数据的表,那种如蜗牛般的速度时,我不得不从网上找出理论支持来推翻心中的那个MS三年的印象。
1 |
具体例子在附件,顺便还有两个创建索引和删除索引的方法,哈哈 |
1.基本的insert语句批插入。这是最基本的,将要插入的参数穿过来。底下这个是sql。
1 |
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')";
|
基本就这些吧。写这篇文章的目的只是想让不知道的人知道一下而已。问题本身不是难题。>