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 小时前
python+pyside6+sqlite 数据库测试
数据库·python·sqlite
java叶新东老师4 小时前
PowerDesigner 画ER图并生成sql 教程
数据库·sql
Jonariguez5 小时前
Mysql InnoDB存储引擎
数据库·mysql
nbsaas-boot6 小时前
SQL Server 窗口函数全指南(函数用法与场景)
开发语言·数据库·python·sql·sql server
Y.ppm6 小时前
数分思维12:SQL技巧与分析方法
数据库·sql
森叶6 小时前
Claude Code 安装向量数据库MCP服务
数据库
bestsun9996 小时前
Time drifts can result in unexpected behavior such as time-outs.
数据库·oracle
waveee1237 小时前
学习嵌入式的第三十四天-数据结构-(2025.7.29)数据库
数据结构·数据库·学习
何传令7 小时前
SQL优化系统解析
数据库·sql·mysql
找不到、了7 小时前
Redis内存使用耗尽情况分析
数据库·redis·缓存