안녕하세요.
커서를 사용 후에 CLOSE를 안해주면, 나중에 최대 열기 커서 수 초과 오류가 나오는 것으로 알고 있습니다.
저희 회사내에서 프로시저를 이용해서 OUT SYS_REFCURSOR를 통해 정보를 가져오는 부분이 많은데,
아래 코드처럼 따로 CLOSE를 하는 부분이 없는데,
어떠한 부분에서 자동으로 커서가 Close 되는지 궁금합니다.. ㅠㅠ
Transaction이 종료될 때 자동으로 열려있는 커서가 닫히는 걸로 이해하면 될까요??
아니면, 프로시저 안에서 커서를 사용하면 자동으로 Close가 되는 걸로 이해하면 될까요??
ex) OPEN FOR 문을 이용하여 커서의 내용을 조회 후 반환
CREATE OR REPLACE PROCEDURE 프로시저명 ( p_cursor OUT SYS_REFCURSOR ) BEGIN OPEN p_cursor FOR SELECT 컬럼명, .. FROM 테이블명; END 프로시저명;