加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 如何使用JDBC更新Oracle Clob

发布时间:2020-12-12 06:22:51 所属栏目:MsSql教程 来源:网络整理
导读:正常方式如下: pStmt = conn.prepareStatement("SELECT DETAILS FROM PROGRAM_HISTORY WHERE id = 12"); rset = pStmt.executeQuery(); Clob detailsClob= rset.getClob(1); Writer writer = adapter.getCharacterOutputStream(detailsClob); writer.write("
正常方式如下:
pStmt = conn.prepareStatement("SELECT DETAILS FROM PROGRAM_HISTORY WHERE id = 12");
    rset = pStmt.executeQuery();
    Clob detailsClob= rset.getClob(1);
    Writer writer = adapter.getCharacterOutputStream(detailsClob);
    writer.write("add more details"); 

    pStmt = conn.prepareStatement("UPDATE PROGRAM_HISTORY SET DETAILS = ? WHERE ID = 12");
    pStmt.setClob(1,detailsClob);
    pStmt.execute();

这有点复杂,是我不需要先阅读然后更新它的任何方式.就像更新varchar一样.

解决方法

不知道为什么你称之为“正常”的方式,但以下对我有用.

在更新之前,它不需要任何数据检索.

String value = "So long and thanks for all the fish";
StringReader reader = new StringReader(value);
pStmt = conn.prepareStatement("UPDATE PROGRAM_HISTORY SET DETAILS = ? WHERE ID = 12");
pStmt.setCharacterStream(1,reader,value.length();
pStmt.executeUpdate();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读