본문 바로가기
IT/Oracle

[Oracle] - 오라클 PL/SQL 커서(cursor) 사용법

by 차이나는 개발자 2022. 7. 6.
728x90
반응형

#오라클 PL/SQL 커서(cursor) 사용법

 

 

#커서(cursor)

-커서는 SELECT문 또는 데이터 조작어 같은 SQL문을 실행했을 때 해당 SQL문을 처리하는 정보를 저장한 메모리 공간(Private SQL Area)을 뜻합니다. 

-메모리의 포인터라고도 합니다.

-커서를 사용하면 실행된 SQL문의 결과 값을 사용할 수도 있습니다.

 

#명시적 커서

-명시적 커서는 사용자가 직접 커서를 선언하고 사용하는 커서입니다.

DECLARE 
	CURSOR 커서명 IS SQL문 -- 커서 선언문
BEGIN 
	OPEN 커서명; -- 커서 열기
	FETCH 커서명 INTO 변수; -- 커서에서 읽은 데이터 사용
	CLOSE 커서명; -- 커서 닫기
END;

 

 

#묵시적 커서

-묵시적 커서는 명시적 커서와 달리 별다른 선언 없이 SQL문을 사용했을 때 오라클에서 자동으로 선언되는 커서입니다.

-종류

SQL%NOTFOUND : 커서에서 추출한 행이 있으면 false, 없으면 true를 반환합니다.

SQL%FOUND : 커서에서 추출한 행이 있으면 true,  없으면 false를 반환합니다.

SQL%ROWCOUNT : 커서에서 추출한 행 수 또는 DML 명령어로 영향받는 행 수를 반환합니다.

SQL%ISOPEN : 커서가 열린 여부인데 묵시적 커서는 자동으로 CLOSE가 되므로 항상 false입니다.

BEGIN 
	UPDATE DEPT SET DNAME='BUSAN'
	WHERE DEPTNO = 40;

	DBMS_OUTPUT.PUT_LINE('UPDATE된 ROW수 ' || SQL%ROWCOUNT);
END;

 

-결과

UPDATE된 ROW수 1

 

 

 

728x90
반응형

댓글