首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle Update -具有4000多个字符的JSON合并修补程序

问Oracle Update -具有4000多个字符的JSON合并修补程序
EN

Stack Overflow用户
提问于 2021-10-28 07:31:37
回答 1查看 780关注 0票数 0

我正在尝试将JSON值更新为oracle表中的列(CLOB数据类型)。JSON值超过4000个字符,基于从应用程序接收的数据,字符数是动态的。JSON_MERGEPATCH习惯于将值合并到表中已经存在的现有JSON内容。

我使用java作为编程工具,并执行批处理更新(ojdbc8 jar),将更新写入oracle。我注意到,在使用JSON_MERGEPATCH时,当字符数超过40000时,CLOB将被更新为NULL,而我丢失了表中已有的数据。是否存在解决此问题并将新字段合并到现有JSON的问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-28 10:57:48

JSON_MERGEPATCH的语法在文档中

如果不包括"returning子句“,那么JSON_MERGEPATCH将默认返回一个VARCHAR2值,如果这超过4000个字节,那么将应用默认的"on子句”,即NULL ON ERROR。

如果您想返回一个CLOB值,那么您需要指定“返回子句”:

代码语言:javascript
复制
UPDATE table_name
SET   value = JSON_MERGEPATCH(value, :newvalue RETURNING CLOB)
WHERE id = 1;

db<>fiddle https://dbfiddle.uk/?rdbms=oracle_18&fiddle=ba13f331b822efedcecac6b1bf9a3c9f

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69749922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档