커서 ( Cursor ) 커서 뭐가 될래...?
- 일반 프로그래밍 언어의 파일 처리 방법과 유사
- 행의 집합을 다룰 수 있는 편리한 기능 제공
- 테이블에서 여러 개의 행을 질의 후, 질의 결과인 행 집합을 한 행씩 처리
- 프로시저 내부에서 커서 사용
커서 처리 순서
1.커서 선언
2.커서 열기
3.커서 데이터 가져오기 FETCH
4.데이터처리
5.커서 닫기
3 ~ 4단계에서 LOOP문으로 가져올 행이 없을때까지 반복.
CREATE OR REPLACE PROCEDURE cursor_salary AS
sal NUMBER := 0;
cnt NUMBER := 0;
total NUMBER := 0;
CURSOR emp_cursor IS SELECT salary FROM employees;
BEGIN
OPEN emp_cursor;
LOOP
FETCH emp_cursor INTO sal;
EXIT WHEN emp_cursor%NOTFOUND; // emp_cursor가 없을경우 종료
total := total + sal;
cnt := cnt + 1;
END LOOP;
CLOSE emp_cursor;
DBMS_OUTPUT.PUT_LINE('평균 SALARY:' || (total / cnt));
END;
'Oracle DB' 카테고리의 다른 글
인덱스 Index (0) | 2023.08.19 |
---|---|
함수 Function (2) (0) | 2023.08.15 |
함수 Function (1) (0) | 2023.08.15 |
프로시저 Procedure 정의 및 변수종류 (2) (0) | 2023.08.14 |
프로시저 Procedure 정의 및 변수종류 (1) (0) | 2023.08.12 |