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;
相关推荐
小陈工3 小时前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“
开发语言·前端·javascript·数据库·vue.js·人工智能·python
科技小花8 小时前
数据治理平台架构演进观察:AI原生设计如何重构企业数据管理范式
数据库·重构·架构·数据治理·ai-native·ai原生
一江寒逸8 小时前
零基础从入门到精通MySQL(中篇):进阶篇——吃透多表查询、事务核心与高级特性,搞定复杂业务SQL
数据库·sql·mysql
D4c-lovetrain8 小时前
linux个人心得22 (mysql)
数据库·mysql
阿里小阿希8 小时前
CentOS7 PostgreSQL 9.2 升级到 15 完整教程
数据库·postgresql
荒川之神8 小时前
Oracle 数据仓库雪花模型设计(完整实战方案)
数据库·数据仓库·oracle
做个文艺程序员9 小时前
MySQL安全加固十大硬核操作
数据库·mysql·安全
不吃香菜学java9 小时前
Redis简单应用
数据库·spring boot·tomcat·maven
一个天蝎座 白勺 程序猿9 小时前
Apache IoTDB(15):IoTDB查询写回(INTO子句)深度解析——从语法到实战的ETL全链路指南
数据库·apache·etl·iotdb
不知名的老吴9 小时前
Redis的延迟瓶颈:TCP栈开销无法避免
数据库·redis·缓存