==============내용=================(트리구조 전체 경로를 보여주는 함수 추가)
CREATE OR REPLACE FUNCTION SGC.fn_DEPT_PATH
(
V_DPT_ID NUMBER
)
RETURN VARCHAR2
IS
V_DPT_PARENT_ID NUMBER ;
V_DPT_NAME VARCHAR2(100) ;
V_tmp_DPT_ID NUMBER ;
V_RESULT VARCHAR2(255) ;
tmpVar VARCHAR2(255) ;
BEGIN
tmpVar := '';
V_DPT_PARENT_ID := -1;
V_tmp_DPT_ID := V_DPT_ID ;
WHILE V_DPT_PARENT_ID <> 0 LOOP
SELECT DPT_PARENT_ID, DPT_NAME
INTO V_DPT_PARENT_ID, V_DPT_NAME
FROM TM_DEPT
WHERE DPT_ID = V_tmp_DPT_ID ;
IF V_RESULT IS NULL THEN
V_RESULT := V_DPT_NAME;
ELSE
V_RESULT := V_DPT_NAME || ' > ' || V_RESULT;
END IF;
V_tmp_DPT_ID := V_DPT_PARENT_ID;
END LOOP;
tmpVar := V_RESULT;
RETURN tmpVar;
EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
WHEN OTHERS THEN
-- Consider logging the error and then re-raise
RAISE;
END fn_DEPT_PATH ;
/
===================================================================
적용방법
1. 적용시킬 db의 c:\에 넣어둔다 (경로는 자기가 지정해도 상관없지만 기억은 하고 있어야 한다)
2. sql계정으로 들어가서 @c:\((자기가 만들었던 폴더를 적어주면 function 이 생성된다)
3. error가 났을경우 show error 명령으로 로그를 보면 수정이 편해진다
4. drop function명으로 지우고 다시 실행을 시킨다
==> 토드에서 만들때는 이런 과정 생략하고 간편함
1. 상단 메뉴에서 database 선택
2. 하위 메뉴에서 schema browser선택
3. functions선택해서 만들어진 function을 수정및 만들 수 있다
'oracle' 카테고리의 다른 글
토드 설치 (0) | 2010.04.29 |
---|---|
쿼리문중 1월 부터 12월 조회할때 달 쉽게 표현하기 (0) | 2010.03.09 |
열의 수가 너무 많습니다 (0) | 2009.12.17 |
[group by] 현업사용 (0) | 2009.12.17 |
오라클 제약사항 (0) | 2009.11.23 |