ORA-06502:PL / SQL:所有STRING值的数值或值错误〜

时间:2011-11-13 01:51:35

标签: oracle plsql

我遇到了错误

  

ORA-06502:PL / SQL:FETCH INTO的数字或值错误(最后一行为   低于功能)。

据我所知,由于游标中的数据类型不匹配及其行类型,可能会发生此错误。

但如果您看到屏幕截图(definition of HQP_IF_DATA_CONV_EXTRACT和将要插入的1条记录),一切看起来都不错。

所有都是STRING类型数据,没有超出限制。

有没有更好的主意,否则如何进一步排查?

  FUNCTION INSERT_INTO_BU_STAGING(p_sql IN VARCHAR2)
  RETURN VARCHAR2
  IS
  TYPE refCursor IS REF CURSOR; -- define weak REF CURSOR type
  a_cursor refCursor;
  rec HPQ_IF_DATA_CONV_EXTRACT_BU%ROWTYPE;

  j NUMBER;

  BEGIN
  j := 0;

    OPEN a_cursor FOR p_sql;
    LOOP
      FETCH a_cursor INTO rec;

table and record to be inserted

1 个答案:

答案 0 :(得分:1)

问题是用于选择的列的顺序可能与定义记录的顺序不同。因此,您可能会尝试在记录字段中加载一个列,该字段的大小小于从select返回的数据。