社区
Oracle
帖子详情
Oracle数据库字符串长度超过4000
勇敢的老散户
2015-09-09 01:41:01
最近二次开发一个项目,项目中从数据库多表中取值,通过触发器把这些值拼凑成一个varchar2类型的字符串,发现当数据量较大时字符串长度会超过4000,会报缓冲区内存不够错误。。
想过把触发器中varchar2类型改为blob或clob类型,发现还有很多以前的程序引用着这个触发器,不能改;想从源码循环拼凑数据,运行起来效率又会很慢很慢很慢。。。
怎么才能让缓冲区内存够用,求Oracle高手指点一二
...全文
5856
5
打赏
收藏
Oracle数据库字符串长度超过4000
最近二次开发一个项目,项目中从数据库多表中取值,通过触发器把这些值拼凑成一个varchar2类型的字符串,发现当数据量较大时字符串长度会超过4000,会报缓冲区内存不够错误。。 想过把触发器中varchar2类型改为blob或clob类型,发现还有很多以前的程序引用着这个触发器,不能改;想从源码循环拼凑数据,运行起来效率又会很慢很慢很慢。。。 怎么才能让缓冲区内存够用,求Oracle高手指点一二
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
weixin_40454688
2018-11-26
打赏
举报
回复
我之前在写存储过程的时候碰到过这种情况,修改字符串的类型是不行的,因为改了类型之后虽然变量符合要求了,但sql语句的长度还是会超过4000,然后我就是将一个变量拆成三个,每个变量存500个左右的字符串,然后就解决问题了,不过这样做会导致系统性能下降,建议在交互不是太频繁的模块使用
小灰狼W
2015-09-10
打赏
举报
回复
要看触发器中怎么用,以及该值最后插入的字段的类型 错误信息应该是CHARACTER BUFFER too SMALL,只要将变量定义中的长度加大即可,pl/sql代码中的一个varchar2类型的变量,最长可以是32767 但如果该变量最终要插入到一个类型为varchar2的字段中,那么长度最长限制为4000,只能截取到4000字节以内或用clob
卖水果的net
2015-09-10
打赏
举报
回复
最好的办法,就是改成 CLOB 。 主要原因是: 你现在的长度不够用了,意味着你的业务数据是增加了(变长了),如果你要拆分成多个字段,你现原有程序,将读取不到完整的数据。
zbdzjx
2015-09-09
打赏
举报
回复
拼凑出这个字符串的用处? 要么建多个字符串,拼的时候,如果超过4000,剩余的放第2个字符串中,第2个字符串满了再放第3个字符串中……用的时候,将这几个字符串相加。
xu176032
2015-09-09
打赏
举报
回复
字符串最多长度那个是 oracle自定义的,不能改, 看你描述,可以考虑创建一个中间表,将需要查询的数据插入到中间表中,后续需要时候用的时候in一下这个中间表就可以了
oracle
字符串长度
java,如何使用Java / JDBC在
Oracle
数据库
中存储长度
超过
4000
个字符的字符串?...
I’m not sure how to use Java/JDBC to insert a very long string into an
Oracle
database.I have a String which is greater than
4000
characters, lets say it’s 6000. I want to take this string and store...
oracle
数据库
字符串截取字符串,[基础教程]
Oracle
数据库
字符串截取实战
SUBSTR函数介绍substr函数在
oracle
数据库
中的功能为:字符串截取函数,它可以截取指定位置段的字符串信息substr函数语法:substr(string str, int a, [int b]);参数说明:str:待截取的字符串a:字符串截取位置,当此值...
Oracle
数据库
连接字符串
Oracle
数据库
拼接字符串 字符串相加是我们工作中常见的操作,那么如何才能将两个字符串或多个字符串拼接·组合为一个字符串呢? 下文将讲述
Oracle
中字符串的操作方法,如下所示: 实现思路: 方式1: 使用concat连接...
oracle
当
字符串长度
超过
4000
,无法插入clob类型中 2020-09-04
试图将一个
超过
4000
长度的数据插入到clob_data中: 由于长度
超过
了
4000
而无法插入,可通过下面的方法插入: declare clobdata CLOB := '值'; BEGIN INSERT INTO 表名 (字段) values (clobdata); END; 示例,...
oracle
中
字符串长度
计算,根据
oracle
标准计算超长字符串的长度
Oracle
数据库
使用sql语句: select lengthb('输入字符串') from dual ,来计算 字符串 所占的字节长度(比如,一个汉字3个字节),但是用这个lengthb函数时,输入字符串的长度不能
超过
4000
,这样遇到一些超长字符串就...
Oracle
17,138
社区成员
55,257
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章