包.头
............
一下包体....
procedure test(pag_T_CONTENT in varchar2,pag_t_reMasessage out varchar2) as
lobloc CLOB;
buffer VARCHAR2(32767);
amount NUMBER := 32767;
offset NUMBER := 1;
number1 number;
inNum number;
begin
buffer:=pag_T_CONTENT;
amount:=length(buffer);
Insert into test values (sequence_talk.nextval, empty_clob() ) returning number into inNum;
commit;
select testclob into lobloc from test
where number= inNum for update;
dbms_lob.write(lobloc,amount,1,buffer);
dbms_lob.writeappend(lobloc,amount,buffer);
pag_t_reMasessage :='success';
exception
when others then
pag_t_reMasessage :=sqlerrm;
rollback;
return;
end;
DAO写入:
public boolean test()
{
CLOB clob = null;
String sql = "{call TEST.TEST(?,?)}";
try {
cs = conn.prepareCall(sql);
cs.setString("pag_t_content", articl.getT_content());
cs.registerOutParameter("pag_t_reMasessage",oracle.jdbc.OracleTypes.VARCHAR);
cs.execute();
String pag_t_reMasessage = cs.getString("pag_t_reMasessage");
if ("success".equals(pag_t_reMasessage)) {
return true;
}
} catch (SQLException e) {
log.debug(e);
}
return false;
}