SQL*Plus, 데이터 연결 방법 – 저장형 함수의 활용: Stored function의 수행횟수
SELECT 사번 , FUNC_6(사번, col3) /* Group By결과 row마다 수행 FROM ( SELECT x.사번 , FUNC_1(x.부서) col1 /* Group By에서 수행하였으므로 수행하지 않음 */ , Max(FUNC_2(y.col2)) col2 /* Where절에서 성공한 모든 row마다 수행 */ , sum(y.본봉) col3 FROM 사원 x, 급여 y WHERE x.사번 = y.사번 AND x.부서 = ‘1100’ AND y.COL4 = FUNC_5(sysdate) /** * Join 방향과 드라이빙 여부에 따라 1번, 혹은 * 사원 테이블에서 성공한 횟수, 혹은 급여 테이블 * 액세스 row마다 수행 */ AND y.년월 between ‘199801’ and ‘199806’ AND FUNC_3(x.사번) > 1000 /* 사원 테이블을 액세스한 row마다 수행 */ AND FUNC_4(y.항목) = ‘ABC’ /* 급여 테이블을 액세스한 row마다 수행 */ AND y.COL5 > 100 /* 체크 조건의 위치에 따라 수행횟수 차이 */ GROUP BY x.사번, FUNC_1(x.부서) /* Where절에서 성공한 모든 row마다 수행 */ );
원문 출처
Encore – 대용량 데이터베이스