PROCEDURE DELETELOC ( P_LAYTKY IN VARCHAR2 ,P_LBUILD IN VARCHAR2 ,P_LSTORY IN VARCHAR2 ,P_WAREKY IN VARCHAR2 ,P_STOKKY IN VARCHAR2 ,P_ZONEKY IN VARCHAR2 ,L_RESULT OUT WOSRECCURTYP) IS V_ALTZONE VARCHAR2(3000); V_ERRNUM VARCHAR(255); V_ERRMSG VARCHAR(255); BEGIN BEGIN UPDATE LAYOI SET INDBZL = 'D' WHERE LAYTKY = P_LAYTKY AND BLOCTY NOT IN ('30','39'); COMMIT; UPDATE LAYOI SET INDBZL = 'D' WHERE LAYTKY = P_LAYTKY AND LBLOCK IN ( SELECT LBLOCK FROM LOCBL WHERE STOKKY = P_STOKKY AND WAREKY = P_WAREKY --AND ZONEKY IN (V_ALTZONE) AND ZONEKY IN ( SELECT * FROM table(split(REPLACE(P_ZONEKY,'::', ''),',') ) ) ); COMMIT; OPEN L_RESULT for SELECT '0' FROM DUAL; EXCEPTION WHEN OTHERS THEN ROLLBACK; OPEN L_RESULT for SELECT '-1' FROM DUAL; V_ERRNUM := SQLCODE; V_ERRMSG := substr(SQLERRM, 1, 255); raise_application_error(-20002, v_errmsg); END; END DELETELOC;
위 프로시저에서 , 프로시저에 값이 제대로 들어가는데 , 11G 에서는 에러가 없이 잘 돌아가는데
9I 에서는 ORA-22905 내포 되지 않은 테이블 항목 으로 부터 행 을 가지고 올 수 없습니다
에러를 떨구고 프로시저가 돌아가지 않는데.. 고수님들 조언 부탁 드립니다.