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;
相关推荐
2301_787312432 分钟前
MySQL版本迁移中如何处理全局变量_手动比对新旧配置文件
jvm·数据库·python
深念Y3 分钟前
AI时代办公格式的演进:PPT与Word的替代已现,Excel将走向何方?
数据库·人工智能·html·word·powerpoint·excel·markdown
LiAo_1996_Y4 分钟前
JavaScript中利用宏任务拆分阻塞任务的实操案例
jvm·数据库·python
qq_349317487 分钟前
如何在 Go 中安全高效地将 SSH 公钥复制到远程服务器
jvm·数据库·python
SQL必知必会11 分钟前
SQL 入门:第一条查询怎么写?从 SELECT、WHERE 到 GROUP BY 讲清楚
数据库·sql
东风破13714 分钟前
DM达梦数据库体系结构学习记录
数据库·学习
djjdjdjdjjdj15 分钟前
如何配置外键的ON DELETE CASCADE_删除父记录自动清理子记录的级联设置
jvm·数据库·python
Gauss松鼠会16 分钟前
【GaussDB】GaussDB逻辑操作符入门指南
数据库·性能优化·gaussdb·经验总结·逻辑操作符
HalvmånEver18 分钟前
MySQL表的查询(二)
linux·数据库·学习·mysql