ORACLE CURSOR Parameterized 커서
http://ojc.asia/bbs/board.php?bo_table=LecSQLnPlSql&wr_id=577
5.5 Parameterized 커서
n Parameter를 받을 수 있는 커서, 외부의 입력값을 이용하여 커서를 만들 때 사용한다.
SQL> DECLARE CURSOR c_dept IS SELECT * FROM dept; CURSOR c_emp(p_deptno emp.deptno%TYPE) IS SELECT ename, sal FROM emp WHERE deptno = p_deptno; BEGIN FOR dept IN c_dept LOOP DBMS_OUTPUT.PUT_LINE('========================='); DBMS_OUTPUT.PUT_LINE(dept.deptno|| ' :: ' || dept.dname); FOR emp_record IN c_emp (dept.deptno) LOOP DBMS_OUTPUT.PUT_LINE(emp_record.ename || ' , ' || emp_record.sal); END LOOP; END LOOP; END; / ========================= 10 :: ACCOUNTING …… MILLER , 2257.5 ========================= 20 :: RESEARCH SMITH , 800 …… FORD , 3000 ========================= 30 :: SALES ALLEN , 1600 …… JAMES , 950 |
[LAB]
1. EMP 테이블에서 급여 상위 5명을 커서를 이용하여 empno, ename, sal 값을 출력하세요.
2. 사용자로 부터 임의의 수(급여 랭킹) N을 ACCEPT를 통해 입력받아 커서를 이용하여 급여순위 N번째인 사원의 이름및 급여를 출력하는 프로시저를 작성하세요.
|
댓글 없음:
댓글 쓰기