여러개의 행을 한 번에 가져오는 CURSOR LOOP
2024. 4. 13. 20:31ㆍDBMS/PLSQL
반응형
--부서번호를 입력 후사원 이름 월급 부서 번호 출력
SET SERVEROUTPUT ON
DECLARE
V_ENAME EMP.ENAME%TYPE;
V_SAL EMP.SAL%TYPE;
V_DEPTNO EMP.DEPTNO%TYPE;
CURSOR EMP_CURSOR IS
SELECT ENAME, SAL, DEPTNO
FROM EMP
WHERE DEPTNO= &P_DEPTNO;
BEGIN
OPEN EMP_CURSOR;
LOOP
FETCH EMP_CURSOR INTO V_ENAME, V_SAL, V_DEPTNO;
EXIT WHEN EMP_CURSOR%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(V_ENAME||' '||V_SAL||' '||V_DEPTNO);
END LOOP;
CLOSE EMP_CURSOR;
END;
CURSOR EMP_CURSOR IS 입력된 부서 번호에 해당하는 사원 정보를 가져오는 커서를 정의한다.
OPEN EMP_CURSOR;: EMP_CURSOR 커서를 연다.
LOOP : 무한 루프를 시작한다.
FETCH EMP_CURSOR INTO V_ENAME, V_SAL, V_DEPTNO;: 커서로부터 데이터를 가져와서 변수에 할당한다.
EXIT WHEN EMP_CURSOR%NOTFOUND : 커서에서 더 이상 데이터를 가져올 수 없으면 루프를 종료한다.
END LOOP;`: 루프의 끝을 나타낸다.
CLOSE EMP_CURSOR;`: 커서를 닫음
15. `END;`: PL/SQL 코드의 끝을 나타낸다.
반응형
'DBMS > PLSQL' 카테고리의 다른 글
fetch row 가 2건 이상일 때 오류 (0) | 2024.05.24 |
---|---|
PL/SQL 기본 구조 (0) | 2024.04.18 |
예외 처리 PRAGMA (0) | 2024.04.14 |
삽입 정렬 insertion Sort (0) | 2024.03.18 |
EXTEND (0) | 2024.02.04 |