Я использую следующие коды для обновления clob:
pStmt = conn.prepareStatement("SELECT DETAILS FROM PROGRAM_HISTORY WHERE id = 12");
rset = pStmt.executeQuery();
Clob detailsClob= rset.getClob(1);
System.out.println(detailsClob.length()); output: 100
Writer writer = ((oracle.sql.CLOB)detailsClob).getCharacterOutputStream();
writer.write("add more details");
writer.flush();
writer.close();
System.out.println(detailsClob.length()); output: 100
pStmt = conn.prepareStatement("UPDATE PROGRAM_HISTORY SET DETAILS = ? WHERE ID = 12");
pStmt.setClob(1, detailsClob);
pStmt.execute();
Проблема в том, что атрибут clob не может быть обновлен правильно, я хочу использовать новую строку для замены существующего значения clob в Oracle, но этоне заменяется, длина, которая была распечатана два раза, одинакова.
Таким образом, в идеале писатель просто добавляет более позднее значение, должен ли писатель быть очищен пустым?как я могу это сделать?
Заранее спасибо, кто-нибудь может дать мне несколько идей?