해야될것은 SFHR_사원번호채번(AR_사번채번일자,AR_번호) 여기에서 다른 함수를타서 채번을 합니다..
그 채번된 번호를 INTO ls_사번채번 에담아서 인사테이블에 담은 사번을 이용해서
SELECT해서 있으면 select 도니 사번이있으면 채번을 다시하기위해서 SFHR_사원번호채번(AR_사번채번일자,AR_번호)
함수를 타고요 없으면 INTO ls_사번채번 있는
사번을 리턴하면됩니다..
이밑에는 저가만든 함수입니다.. 아딕 초보 개발자라서 cursor과 loop의 개념이 확실하게 안잡히네요..
CREATE OR REPLACE FUNCTION 사번채번
(
AR_사번채번일자 VARCHAR2,
AR_번호 VARCHAR2
)
RETURN VARCHAR2
Is
ls_사번채번 VARCHAR2 (50);
ls_사번조회 VARCHAR2(8);
ls_최종사번 VARCHAR2(8);
DECLARE CURSOR CUR_MASTER(ls_사번채번) IS
SELECT 사번
FROM 인사
WHERE 사번 = ls_사번채번;
BEGIN
BEGIN
SELECT SFHR_사원번호채번(AR_사번채번일자,AR_번호)
INTO ls_사번채번
FROM DUAL;
END;
OPEN CUR_MASTER(ls_사번채번);
LOOP
BEGIN
FETCH CUR_MASTER INTO ls_원본사번;
EXIT WHEN CUR_MASTER%NOTFOUND;
ls_최종사번 := ls_사번채번;
END;
END LOOP;
CLOSE CUR_MASTER;
RETURN ls_최종사번;
END;