Notice
Recent Posts
Recent Comments
Link
투케이2K
81. (TWOK/UTIL) [Oracle/DB] 함수 (Function) - input , output 본문
[설 명]
프로그램 : Oracle / DB
설 명 : 함수 (Function) - input , output
[소스 코드]
CREATE OR REPLACE FUNCTION GET_DEPT_DATE (I_NAME IN VARCHAR,
I_DEPT IN VARCHAR
)
/***************************************************************
설명 - 국가 멸망 판단 반환 [백제, 후백제 생존]
---------------------------------------------------------------
생성 - edit 창에서 F9를 눌러서 쿼리 실행 시 자동 생성된다
---------------------------------------------------------------
IN - I_NAME : 사용자 이름
I_DEPT : 사용자 부서
---------------------------------------------------------------
함수 호출 - SELECT T_NAME, T_DEPT, GET_DEPT_DATE(T_NAME, T_DEPT)
FROM TEST_USER;
---------------------------------------------------------------
함수 결과 - 생존 / 멸망
---------------------------------------------------------------
함수 삭제 - DROP FUNCTION GET_DEPT_DATE;
***************************************************************/
/********** Function 호출 시 반환되는 데이터 (VARCHAR2) ***********/
RETURN VARCHAR
IS
/********************** 전역 변수 선언 부분 **********************/
M_DATA VARCHAR2(100);
M_COUNT NUMBER;
/* *************** [메인부분 시작 및 커서생성] **************** */
BEGIN
M_COUNT := 1; -- 초기 카운트 변수값 대입
-- 전역변수로 생성한 테이블을 FOR문을 수행하면서 데이터 삽입 실시
FOR M_LIST IN (
/*[주요 설명]
*1. M_LIST에 SELECT 쿼리를 실행한 테이블 데이터를 저장한다
*2. WHERE 조건에 인풋으로 들어온 데이터와 같은 데이터를 지정해야 한행씩 정상 출력됨
*/
SELECT T_NAME, T_DEPT
FROM TEST_USER
WHERE T_NAME = I_NAME
AND T_DEPT = I_DEPT
)
LOOP
M_DATA := CASE M_LIST.T_DEPT
WHEN '백제' THEN M_LIST.T_DEPT||' 생존'
WHEN '후백제' THEN M_LIST.T_DEPT||' 생존'
ELSE M_LIST.T_DEPT||' 멸망'
END;
DBMS_OUTPUT.PUT_LINE('=============================');
DBMS_OUTPUT.PUT_LINE('M_COUNT : ' || M_COUNT);
DBMS_OUTPUT.PUT_LINE('M_DATA : ' || M_DATA);
DBMS_OUTPUT.PUT_LINE('=============================');
M_COUNT := (M_COUNT+1); --카운트값 증가
END LOOP;
RETURN M_DATA;
/* **************** [사용함수 종료 완료 부분] ***************** */
END;
/
/* **************** [사용함수 종료 완료 부분] ***************** */
반응형
'투케이2K 유틸파일' 카테고리의 다른 글
Comments