IntelliJ 에서 오라클 DB에 붙어 프로시저 테스트 시 로그를 출력 할 수 있는 방법을 알아 본다.
(IntelliJ 에서는 프로시저 디버깅이 안된다.)
프로시저의 로그는 DBMS_OUTPUT.PUT_LINE() 함수를 사용하는 것이다.
우선 프로시저에 원하는 위치에 DBMS_OUTPUT.PUT_LINE() 함수를 삽입니다.
DBMS_OUTPUT.PUT_LINE("출력하고 싶은 데이터 :" || 변수);
변수의 값과 문자열을 파이프( || ) 기호로 묶어서 쓸 수 있다.
그리고 DB console 창에 DECLARE - BEGIN - END 형식으로 프로시저를 호출한다.
DECLARE
O_ERRORCODE VARCHAR2(1000);
O_ERRORMESG VARCHAR2(1000);
BEGIN
P_TM_QUOTA_PROMO_CREATE
('SES', '202024091', '', '', '', '', '20240101', 'N', 'N', 'CREATE', 'N', 'N', '522030', O_ERRORCODE, O_ERRORMESG);
--commit; --commit 는 데이터를 남길 이유가 아니라면 쓰지 않아도 된다.
END;
다음으로 위 구문을 실행할 console에 DBMS_OUTPUT를 사용 할 수 있도록 체크를 해줘야 한다.
(보통은) IntelliJ 좌측 하단에 아래 그림과 같이 서버와 DB console 에 대한 정보를 보여주는 트리가 있다.
위의 실행할 console 을 선택 후 마우스 우클릭을 해보자.
그럼 아래 그림과 같이 서브 메뉴가 열릴 것이다. 여기서 'Enable DBMSOUTPUT' 라는 항목이 보일 것이다.
이것을 선택(체크) 해주자. (앞에 체크 표시가 나온다면 선택된 상태이다.)
그리고 나서 console의 프로시저 구문을 실행해 보자.
그럼 console 의 output 탭에 아래 그림과 같이 로그가 찍히는 것을 볼 수가 있다.
반응형
'개발 > 개발 기타' 카테고리의 다른 글
[Tip of the Day] IntelliJ : Inspect Code (0) | 2023.11.08 |
---|---|
[Tip of the Day] IntelliJ : Camel case in search Everywhere (0) | 2023.11.07 |
[Tip of the Day] IntelliJ : Override methods (0) | 2023.10.06 |
[Tip of the Day] IntelliJ : Code generation (0) | 2023.10.05 |
[Tip of the Day] IntelliJ : Create code constructs with completion (0) | 2023.10.04 |