PROCEDURE  CHECK(
            NO               IN NUMBER,   
            NM               IN VARCHAR2,
            OUT_MSG          OUT VARCHAR2 
  )对于一个存储过程,
NM作为一个输入参数,可接受的参数大小范围是否为‘32767’,
OUT_MSG作为一个输出参数,它的大小是多少呢?我现在OUT_MSG的长度稍微长点,就会进入excepetion,不能按我想的结果进行返回。

解决方案 »

  1.   

    oracle中varchar2最多能占用4000字节存储空间
      

  2.   

    OUT_MSG在你的存储过程中接收的数据是多大长度的?确定OUT_MSG出的异常吗?可以把程序体贴下
      

  3.   

    我找到原因了,是我本身调用CHECK这个过程的时候,接收OUT_MSG的变量定义范围太小导致的,不过作为输出参数,他的范围是否跟oracel中所说的varchar2的范围一致啊还是说小了很多啊请教各位
      

  4.   

    他的范围应该跟oracel中所说的varchar2的范围一致,再没有别的参照了吧