网站首页 > 技术文章 正文
在不同的oracle数据库间复制一张包含clob字段的表,你会收到如下礼物:
select cloba from tab_test@link_test;
肿么办?
1、to_char
select to_char(cloba) from tab_test@link_test;
对于clob内容比较小的字段,to_char已经满足需求了。但是如果字段值较大,你又会收到另一种礼物:
肿么办?
2、empty_clob()
----先插入一张中间表,用empty_clob()占位,然后updateui应字段值
insert into tab_testb
select empty_clob() clobb from tab_remote@link_remote where id=111;
update tab_testb a
set clobb=(select b.clobb from tab_remote@link_remote b where a.id=b.id)
where exists(select 1 from tab_remote@link_remote b where a.id=b.id)
and a.id=111;
----完美
commit;
如果clob字段中存放的是json字符串,需要解析其中的key和value。
肿么办?
3、如果记录少了也就算了,substr+instr截取吧;如果记录多了,你会不会想屎?
肿么办?
4、有人会说,没事,我可以自己写代码解析,但是写过的人都知道,解析效率堪忧!
肿么办?
5、如果你的oracle服务器已经升级到12,恭喜你,又获得了一项神技能。那速度,神了!
只需要给相关字段增加check约束,即可。
ALTER TABLE tab_testc ADD (CONSTRAINT ENSURE_JSON_2 CHECK (clobcc IS JSON));
开始像类属性一样获取属性值:
select a.clobcc.jsonKey jsonvalue, a.clobcc.jsonKey.subkey subvalue from tab_testc a;
重要的是速度!飕飕的!
猜你喜欢
- 2025-07-27 数据清洗做不好,整个中台都白搭!
- 2024-10-28 详解oracle中三大类型与隐式数据类型转换
- 2024-10-28 oracle简单增删改查,私信分享资源
- 2024-10-28 DBA日记之Oracle索引设计原则二 oracle的索引有几种,各有何用途
- 2024-10-28 ORACLE大对象LOB移动及导出操作报ORA-01555错误解决
- 2024-10-28 oracle——一种列转行的方法 oracle如何列转行
- 2024-10-28 工作中遇到的问题 笔记 和大家分享一下 Oracle中的行转列
- 2024-10-28 Oracle编程之使用其他表的字段类型作为变量的类型
- 2024-10-28 oracle针对某列让特定信息排序「decode」
- 2024-10-28 SQL ALTER TABLE 语句 sql自定义函数
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- oracle面试 (55)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)