nickjoIT
CURSOR LOOP 본문
DECLARE
--명시적 커서 선언(매개변수 전달)
CURSOR c1(p_deptno NUMBER,
p_job VARCHAR2)
IS
SELECT *
FROM emp
WHERE deptno=p_deptno
AND job=p_job;
--커서 c1과 같은 레코드 타입 선언
emp_rec c1%ROWTYPE;
BEGIN
--방법1. 커서 OPEN, LOOP, FETCH, CLOSE를 이용한 데이터 추출
--커서 오픈(매개변수 전달)
OPEN c1(30,'SALESMAN');
--커서 내 데이터 반복 추출
LOOP
--커서 결과를 c1%ROWTYPE 변수에 입력
FETCH c1 INTO emp_rec;
--커서 내 추출 데이터가 없을 경우 LOOP 빠져나감
EXIT WHEN c1%NOTFOUND;
--데이터 처리
DBMS_OUTPUT.PUT_LINE('Name=' || emp_rec.ename ||
', salary=' || emp_rec.sal ||
', Job Id=' || emp_rec.job);
END LOOP;
CLOSE c1;
END;
/
'DB > oracle' 카테고리의 다른 글
CURSOR UPDATE (0) | 2017.05.26 |
---|---|
CURSOR FOR LOOP (0) | 2017.05.26 |
단 한건만 반화하는 명시적 커서의 예 (0) | 2017.05.26 |
커서(Cursor) For Loop (0) | 2017.05.26 |
For Loop (0) | 2017.05.26 |
Comments