오라클 프로시저, 함수 호출

2024. 12. 23. 15:49·SQL

함수 호출

ex_package 패키지 안에 있는 ex_function 함수 호출 방법

다건 리턴

SELECT * FROM TABLE(ex_package.ex_function());

단건 리턴

SELECT ex_package (ex_function()) FROM DUAL;

프로시저 호출

ex_package 패키지 안에 있는 ex_procedure 프로시저 호출 방법

매개변수 OUT (NUMBER, VARCHAR)

ex) PROCEDURE ex_procedure (p_ERR_COD OUT NUMBER,
p_ERR_MSG OUT VARCHAR2) IS

DECLARE
    p_ERR_COD   NUMBER;
    p_ERR_MSG   VARCHAR2(100);
BEGIN 

ex_package.ex_procedure('홍길동', '01011112222', p_ERR_COD, p_ERR_MSG); 

END;

매개변수 OUT (CURSOR)

ex) PROCEDURE ex_procedure (COMMON_RDS OUT COMMON_CUR) IS

DECLARE
    TYPE COMMON_CUR IS REF CURSOR;
    COMMON_RDS COMMON_CUR;
    OUT_CUR VARCHAR2(100);
BEGIN
    ex_package.ex_procedure(COMMON_RDS);   -- 내부에서 프로시저를 호출 시에는 EXECUTE 생략

    FETCH COMMON_RDS INTO OUT_CUR;           -- 커서에서 값 읽기
    CLOSE COMMON_RDS;

    DBMS_OUTPUT.PUT_LINE(OUT_CUR);
END;

#. DBMS_OUTPUT.PUT_LINE() 가 나오지 않을 때

SET SERVEROUTPUT ON;

 

매개변수 IN OUT 있는 경우

DECLARE
    p_SEQ       NUMBER;
    p_ERR_COD   NUMBER;
    p_ERR_MSG   VARCHAR2(100);
BEGIN 

p_SEQ := 1;
ex_package.ex_procedure(p_SEQ, '홍길동', '01011112222', p_ERR_COD, p_ERR_MSG); 

END;
CALL ex_package (ex_procedure());

 

'SQL' 카테고리의 다른 글

MyBatis Caching  (0) 2024.12.23
'SQL' 카테고리의 다른 글
  • MyBatis Caching
red9isu
red9isu
  • red9isu
    기록
    red9isu
  • 전체
    오늘
    어제
    • 전체보기 (26)
      • JAVA (3)
      • React (2)
      • Python (4)
      • SQL (2)
      • Cloud (1)
      • Linux (2)
      • CI+CD (2)
      • 자격증 (10)
        • AICE (8)
        • SQLD+P (1)
        • 리눅스마스터 (1)
  • 블로그 메뉴

    • 홈
  • 링크

    • Github
  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
red9isu
오라클 프로시저, 함수 호출
상단으로

티스토리툴바