当前位置 > 主页 > 万和大讲堂 >


南京Oracle认证培训之技巧分享:Oracle超长字符串问题的解决办法

2016-04-15 16:42

  很多学员在做项目的过程中会遇到这样一个问题——Oracle超长字符串问题,今天南京Oracle认证培训和大家分享一下这种问题的解决办法。


  举例,有一个程序是用来增量抽取EBS中的表数据的,有的是全量抽取,即先删除原表中的数据,然后重新抽取数据,示例代码如下:



  另外一种方式是增量抽取,用的是merge语句,这里就不写了;


  接触过EBS库存模块的同志们知道,INV中的物料表是MTL_SYSTEM_ITEM_B,这个表的字段那叫一个多!很多人之前搞错了,用的是第一种方案提取的,这就会导致我们的程序运行之后数据会大量减少(原因是临时表只有一两天的数据,大家懂得)。赶紧把语句由INSERT写成MERGE。写完一运行,报错:


  哦,原来是字符超长了。在这里南京Oracle认证培训就不把之前的程序写这里了,以免吓到大家。南京Oracle认证培训用下面的代码来模拟这个错误吧:


  

 


 

  第 1 行出现错误:


  ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小


  ORA-06512: 在 line 5


  有学员想这还不好办嘛,直接把varchar2改成long。可是还是报错了:


  也有学员把字符串变量定义成CLOB类型,具体请看代码:



  运行结果:v_cnt: 14


  总结:


  1.用CLOB类型可以处理字符串超长的情况;


  2.ORACLE 的大数据类型还须研究。


  以上就是南京Oracle认证培训关于Oracle表三种连接方式的使用介绍,也希望日后能多多给大家补充Oracle技术相关的实例。

最近开班 more>
  • Python基础班
  • Java全栈开发
  • 前端基础班
  • 软件测试
  • 云原生精英班
  • 云网预科班
  • CISP
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • OCM 12C
  • OCP 19C
  • RHCE 9.0
  • 随时开课
  • 12月26日
  • 随时开课
  • 12月4日
  • 12月16日
  • 12月9日
  • 12月21日
  • 1月6日
  • 12月30日
  • 12月16日
  • 12月21日
  • 12月7日
  • 12月7日
  • ——
  • 随时开课
  • 12月16日
    • 姓 名 :
    • 电 话 :
    • 课 程 :

技术交流群

  • Java大数据交流群560819979加入
  • Python技术交流群595083299加入
  • Oracle技术交流群595119011加入
  • Web前端技术交流群604697610加入
  • Huawei技术交流群482919361加入
  • Redhat技术交流群587875348加入
  • UI设计技术交流群511649801加入
  • Cisco技术交流群596886705加入
  • IT运维技术交流群605888381加入