2007年2月9日星期五

在oracle中插入clob

String sql1="select gene_information_seq.nextval from dual";
log.debug(sql1);
stat1=session.connection().createStatement();
rs1=stat1.executeQuery(sql1);
rs1.next();
int id=rs1.getInt("NEXTVAL");
int genome_id=geneinfo.getGenome().getId().intValue();
String sql2="insert into gene_information values("+id+","+genome_id+",empty_clob(),'"+geneinfo.getAaSeqMd5key()+"',empty_clob(),'"+geneinfo.getNaSeqMd5key()+"','')";
log.debug(sql2);
stat2=session.connection().createStatement();
stat2.executeQuery(sql2);

String sql3="select * from gene_information where gene_id="+id+"for update";
stat3=session.connection().createStatement();
rs3=stat3.executeQuery(sql3);
if(rs3.next()){
Clob clob_na=rs3.getClob("na_seq");
Clob clob_aa=rs3.getClob("aa_seq");
clob_na.setString(1, geneinfo.getNaSeq());
clob_aa.setString(1, geneinfo.getAaSeq());
String sql4 = "update gene_information set na_seq = ?,aa_seq = ? ,gene_description = ? where gene_id = "+id;
pstat=session.connection().prepareStatement(sql4);
pstat.setClob(1, clob_na);
pstat.setClob(2, clob_aa);
pstat.setString(3, geneinfo.getGeneDescription());
pstat.executeUpdate();
pstat.close();
tx.commit();

}
rs3.close();
stat3.close();
stat2.close();
rs1.close();
stat1.close();
session.close();

没有评论: