15일차 # 7-21 추가: Cursor For Loop with Parameters
declare
cursor emp_cur(d_no number) is
select empno, ename, job, sal
from emp
where deptno = d_no;
begin
for rec_emp_cur in emp_cur(10) loop --> for 문의 커서 변수에 파라미터 입력
p(rec_emp_cur.job||', '||rec_emp_cur.ename||'('||rec_emp_cur.empno
||')''s salary is '||rec_emp_cur.sal);
p(emp_cur%rowcount||' rows processed');
end loop;
end;
/
↓ ↓ ↓
declare
cursor emp_cur(d_no number) is
select empno, ename, job, sal
from emp
where deptno = d_no;
begin
for rec_emp_cur in emp_cur(&dept_no) loop --> for 문의 커서 변수에 파라미터 입력
p(rec_emp_cur.job||', '||rec_emp_cur.ename||'('||rec_emp_cur.empno
||')''s salary is '||rec_emp_cur.sal);
p(emp_cur%rowcount||' rows processed');
end loop;
end;
/
↓ ↓ ↓
create or replace procedure emp_cur_proc (dept_no number) is
cursor emp_cur(d_no number) is
select empno, ename, job, sal
from emp
where deptno = d_no;
begin
for rec_emp_cur in emp_cur(dept_no) loop
p(rec_emp_cur.job||', '||rec_emp_cur.ename||'('||rec_emp_cur.empno
||')''s salary is '||rec_emp_cur.sal);
p(emp_cur%rowcount||' rows processed');
end loop;
end;
/
exec emp_cur_proc(10)
exec emp_cur_proc(30)