zoukankan      html  css  js  c++  java
  • Oracle函数返回超长字符串问题

    Oracle函数返回字符串时,如果字符串长度过大(约超过1850),则会出现字符缓冲区不足的错误。
    可以采用出参的方式解决,在编程中再把各出参的值组合。一般编程语言中的字符串可以足够长。
    另外,Oracle函数/存储过程中入参中的字符串长度没有如上的限制情况。

    例:
    procedure sp_tb018_sqlCount( p_Conditions in varchar2,
                                   p_Sql1 out varchar2,
                                   p_Sql2 out varchar2,
                                   p_Sql3 out varchar2)
    as
      v_sql varchar2(4500);
    begin
      v_sql := 'SELECT COUNT(*)
                FROM MISTABLE002
                LEFT OUTER JOIN MISTABLE018 on MISFIELD018A01 = MISFIELD002A01
                WHERE  '|| p_Conditions ;
               
      p_Sql1 := substr(v_sql,1,   1500);
      p_Sql2 := substr(v_sql,1501,3000);
      p_Sql3 := substr(v_sql,3001,4500);
    end sp_tb018_sqlCount;

    --不精通Oracle,如有错误望高手指教。

  • 相关阅读:
    Java数组分配内存空间
    Java中的数组
    Java中可变参数
    什么是方法的重载
    break语句与continue语句
    三大循环结构
    程序流程控制
    Java的运算符
    基本数据类型转换之向上转型和向下转换
    修改IIS虚拟目录名称
  • 原文地址:https://www.cnblogs.com/SummerRain/p/214066.html
Copyright © 2011-2022 走看看