oracle SQL Blob字符串太长,不能写入数据解决

一、案例-常用写法

bash 复制代码
INSERT INTO ACT_GE_BYTEARRAY
(ID_, REV_, NAME_, DEPLOYMENT_ID_, BYTES_, GENERATED_)
VALUES('11111', 3, 'source-extra', NULL, '超长字符串', NULL);

BYTES_ 是BLOB字段,字符串太长报错:

ORA-01704: 字符串文字太长。

二、解决办法

INSERT 语句:

定义变量v_blob接收,然后使用接收的字符串写入。

bash 复制代码
DECLARE v_blob blob := TO_BLOB ( HEXTORAW( '超长字符串' ) );
BEGIN
	INSERT INTO "ACT_GE_BYTEARRAY" (ID_, REV_, NAME_, DEPLOYMENT_ID_, BYTES_, GENERATED_)
	VALUES
	( '11111', 4, 'source', NULL, v_blob ,NULL);
END;

UPDATE 语句:

bash 复制代码
DECLARE v_blob blob := TO_BLOB ( HEXTORAW( '超长字符串' ) );
BEGIN
UPDATE ACT_GE_BYTEARRAY SET BYTES_ = v_blob WHERE ID_ = '11111';
END;
相关推荐
誰能久伴不乏2 小时前
桌面客户端的运行日志系统:SQLite 分块 + 独立写线程 + 文本降级
数据库·c++·qt·架构·sqlite
程序员清风10 小时前
数据处理脚本工程化:日志、配置、命令行与测试
服务器·开发语言·数据库
正在走向自律10 小时前
数据集成产品的技术底座:从日志解析原理到 KFS 同步链路搭建(含建表与增删改查完整代码)
数据库·oracle·信创·数据集成·国产数据库·kingbasees·全量+增量同步
程序员塔塔喵10 小时前
【MySQL篇|第七篇】MySQL事务
数据库·mysql·mysql事务
独隅11 小时前
Claude API 实战教程:从入门到完整项目
android·java·数据库·claude·claude code
_孤傲_11 小时前
快速掌握 MySQL 语法
数据库·后端·mysql
数字新视界13 小时前
一体化机柜在数据中心运维中的创新应用与优势分析
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
SelectDB14 小时前
从 StarRocks 走向 Apache Doris:如何实现引擎平滑替换与架构升级?
大数据·数据库·数据分析
为思念酝酿的痛14 小时前
MySQL的操作
数据库·mysql
猫咪很可爱14 小时前
Oracle ORA-4031 错误分析与处理:SGA 内存不足导致 update/exp/expdp 失败
数据库·oracle