Oracle 프로시저 실행 확인

역시 사용하지 않는 언어를 개발하는 것은 힘이 드네요...ㅠ
간단한 프로시저를 만들고 out 결과를 토드나 SqlDeveloper에서 확인해 보고 싶은데, 방법을 모르겠습니다.


이럴 때 어떻게 해야 할까요? 하여 Oracle 프로시저 실행 결과 확인에 대해서 알아보겠습니다.




먼저 간단한 프로시저를 아래와 같이 생성 합니다.

create or replace PROCEDURE SP_TEST_INSERT
(
  P_TEST_GROUP_ID VARCHAR2, /* 테스트 그룹 키*/
  V_P_TEST_ID OUT VARCHAR2 /* 리턴 키 */
) IS

BEGIN

  -- 리턴 값 셋팅
  IF (P_TEST_GROUP_ID IS NULL) THEN
    V_P_TEST_ID := LPAD(P_TEST_SEQ.nextval, 10, '0');
  ELSE
    V_P_TEST_ID := P_TEST_GROUP_ID;
  END IF;

  COMMIT;

END SP_TEST_INSERT;

간단하게 위와 같은 프로시저를 만들었습니다.
이것을 실행하면 "PL/SQL 프로시저가 성공적으로 완료되었습니다"라는 문구만 보여줄뿐 실질적인 out값인 V_P_TEST_ID는 보여주지 않습니다.

이럴때 아래의 쿼리를 사용하시면 해당 프로시저의 out값을 확인 가능 하십니다.




SET serveroutput on;
DECLARE
   V_P_TEST_ID VARCHAR2(20) := 'A';
BEGIN
  SP_TEST_INSERT('', V_P_TEST_ID);

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

위와 같이 쿼리를 작성하시고 실행하시면 아래와 같은 결과 값을 확인 하실 수 있으십니다.
"PL/SQL 프로시저가 성공적으로 완료되었습니다.
V_P_TEST_ID: 0000000001"

알면 이렇게 간단하게 확인이 가능한데 모르니 엄청나게 많은 시간과 삽질이 나오네요...ㅠ
여러분들은 저같은 시간 낭비를 안하시겠줘...ㅎ

그럼 여기까지 Oracle 프로시저 실행 결과 확인에 대해서 알아보았습니다.
조금이나마 유용한 정보가 되었으면 좋겠네요...ㅎ

댓글

이 블로그의 인기 게시물

껌 떼는 법 (완벽 제거)

학점 계산기 (백분위 환산) 완벽 정리

[엑셀] 셀에 수식 적용하는 모든 것 완벽 정리