db/oracle

oracle 리스트 프로시저 생성 및 실행

strange-dev 2025. 2. 18. 20:44
반응형

oracle 리스트 프로시저 생성 및 실행

오라클 프로시저 생성
create or replace PROCEDURE SELECT_EMP (
    P_EMPNO IN VARCHAR2,		-- 조건값
    P_CURSOR OUT SYS_REFCURSOR	-- 리스트 출력
) IS
BEGIN
    OPEN P_CURSOR FOR
    select * from EMPLOYEES where EMPNO = P_EMPNO;
END;

 

※ 프로시저 호출 한 가지 방법으로 에러가 발생하여 여러 가지 방법으로 작성했습니다.

프로시저 호출 #1
SET SERVEROUTPUT ON;
VAR v_cursor REFCURSOR;
EXEC SELECT_EMP('123', :v_cursor);
PRINT v_cursor;
프로시저 호출 #2
SET SERVEROUTPUT ON;
VAR v_cursor REFCURSOR;
begin
SELECT_EMP('123', :v_cursor);
end;
/
PRINT v_cursor;
프로시저 호출 #3
SET SERVEROUTPUT ON;
VAR v_cursor REFCURSOR;

EXEC BEGIN SELECT_EMP('123', :v_cursor); END;

PRINT v_cursor;
반응형