IT/오라클

Oracle SQL Developer 프로지져 결과 보기

밤톨순이 2018. 5. 15. 10:39

Oracle SQL Developer를 처음 사용하면서 프로시져를 생성하고 그에 맞는 out 결과를 보고 싶은데 프로시져를 실행하면 자꾸 "PL/SQL 프로시저가 성공적으로 완료되었습니다." 문구만 나오고 결과는 보여 주지 않는다.

 

또다시 엄청난 삽질과 검색으로 해결하였다.

 

create or replace PROCEDURE SP_BILLING_TEMP_INSERT
(
  P_BILLING_TEMP_GROUP_ID VARCHAR2, /* 청구 임시 테이블 그룹 키*/  
  V_P_BILLING_TEMP_ID OUT VARCHAR2 /* 리턴 키 */
) IS

BEGIN

  -- 리턴 값 셋팅
  IF (P_BILLING_TEMP_ID IS NULL) THEN
    V_P_BILLING_TEMP_ID := LPAD(P_BILLING_TEMP_SEQ.nextval, 10, '0');
  ELSE
    V_P_BILLING_TEMP_ID := P_BILLING_TEMP_ID;
  END IF;
 
  COMMIT;

END SP_BILLING_TEMP_INSERT;

 

 

요런 간단한 프로시져를 생성하고

 

SET serveroutput on;
DECLARE
   V_P_BILLING_TEMP_ID VARCHAR2(20) := 'A';
BEGIN
  SP_BILLING_TEMP_INSERT('', V_P_BILLING_TEMP_ID);

  DBMS_OUTPUT.PUT_LINE('V_P_BILLING_TEMP_ID: ' || V_P_BILLING_TEMP_ID);
END;

 

요렇게 호출하면

PL/SQL 프로시저가 성공적으로 완료되었습니다.

V_P_BILLING_TEMP_ID: 0000000015

요렇게 원하는 결과를 얻을 수 있다.

 

모르니 엄청난 시간과 노력이 필요하다...ㅠ