ora-06502 pl/sql 수치 또는 값 오류 숫자 정도가 너무 큽니다 at line : 25
at line : 2
라는 오류가 이렇게 발생하는데요 ..
도와주세요 ㅠㅠ 모르겠습니다 뭣땜에 그러는지
CREATE OR REPLACE FUNCTION INSERT_SYMBOL_INFO(PR_DRWNG_SERNO IN NUMBER, PR_SYMBOL_CD IN VARCHAR2) RETURN CHAR IS
SYMBOL_LIST VARCHAR2(32000); -- 심볼목록
OBJECT_LAYER VARCHAR2(256); -- 입력되는 레이어 항목
OBJECT_SYMBOL VARCHAR2(256); -- 입력되는 심볼 항목
CNT NUMBER(4); -- 해당 심볼 개수
BSIZE Integer; --추
BEGIN
SYMBOL_LIST := PR_SYMBOL_CD;
OBJECT_SYMBOL := '';
OBJECT_LAYER := '';
CNT := 0;
-- 심볼 항목 등록
IF SYMBOL_LIST <> ' ' AND SYMBOL_LIST IS NOT NULL THEN
LOOP
EXIT WHEN SYMBOL_LIST IS NULL OR SYMBOL_LIST = ' ';
-- 레이어 항목 추출
OBJECT_SYMBOL := SUBSTR(SYMBOL_LIST, 1 , INSTR(SYMBOL_LIST, '|#@') - 1);
SYMBOL_LIST := SUBSTR(SYMBOL_LIST, INSTR(SYMBOL_LIST, '|#@') +3);
-- 심볼개수 추출
CNT := SUBSTR(SYMBOL_LIST, 1 , INSTR(SYMBOL_LIST, '|#@') - 1);
SYMBOL_LIST := SUBSTR(SYMBOL_LIST, INSTR(SYMBOL_LIST, '|#@') +3);
-- 심볼목록 추출
--OBJECT_SYMBOL := SUBSTR(SYMBOL_LIST, 1 , INSTR(SYMBOL_LIST, '|#@') - 1);
--SYMBOL_LIST := SUBSTR(SYMBOL_LIST, INSTR(SYMBOL_LIST, '|#@') +3);
-- 심볼개수 추출
IF INSTR(SYMBOL_LIST, '*#@') = 0 THEN
OBJECT_LAYER := SYMBOL_LIST;
SYMBOL_LIST := '';
ELSE
OBJECT_LAYER := SUBSTR(SYMBOL_LIST, 1 , INSTR(SYMBOL_LIST, '*#@') - 1);
SYMBOL_LIST := SUBSTR(SYMBOL_LIST, INSTR(SYMBOL_LIST, '*#@') +3);
END IF;
IF OBJECT_SYMBOL <> ' ' AND OBJECT_SYMBOL IS NOT NULL AND OBJECT_LAYER <> ' ' AND OBJECT_LAYER IS NOT NULL AND CNT > 0 AND CNT IS NOT NULL THEN
INSERT INTO DRWNG_SYMBOL_TBL(DRWNG_SERNO, DRWNG_SYMBOL, DRWNG_LAYER, SYMBOL_CNT)
VALUES (PR_DRWNG_SERNO, OBJECT_SYMBOL, OBJECT_LAYER, CNT);
END IF;
END LOOP;
END IF;
RETURN 'Y';
END EEAM_INSERT_SYMBOL_INFO;
/