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;
相关推荐
x***r15110 分钟前
dbeaver-ce-24.1.3-x86_64-setup安装步骤详解(附DBeaver数据库管理与SQL编写教程)
数据库·sql
一只鹿鹿鹿13 分钟前
数据库运维与管理规范(WORD)
运维·数据库
todoitbo1 小时前
WHERE 子句中的函数执行顺序与副作用风险分析
数据库·时序数据库·函数
jiayong231 小时前
MySQL 8.0 Root 用户远程登录配置完整指南
数据库·mysql
数智化管理手记1 小时前
设备总停机?找准根源+TPM核心逻辑,筑牢零故障基础
数据库·人工智能·低代码·制造
zhangshuang-peta1 小时前
MCP + OpenClaw:执行框架如何被“约束成系统”
数据库·人工智能·ai·ai agent·mcp·peta
java1234_小锋2 小时前
说一下Spring的事务传播行为?
java·数据库·spring
苏三说技术2 小时前
美团二面:高并发下如何保证接口幂等性?
java·数据库
Stackflowed2 小时前
Docker安装Oracle
docker·oracle·容器
精益数智小屋2 小时前
设备维护方案核心功能拆解:一套好的设备维护方案如何解决设备突发故障
大数据·运维·网络·数据库·人工智能·面试·自动化