我遇到了错误
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;
答案 0 :(得分:1)
问题是用于选择的列的顺序可能与定义记录的顺序不同。因此,您可能会尝试在记录字段中加载一个列,该字段的大小小于从select返回的数据。