반응형
프로시저 디버깅 기능은 DBeaver에 없으며, Orange 라는 프로그램에서만 제공하는 기능임. 프로시저 디버깅을 하기 위하여 프로시저 내부에 로그를 남겨서 확인해볼 수 있음.
1. 로그를 저장할 테이블 생성
2. 시퀀스 생성 (생략가능)
3. 로그를 기록하는 프로시저 생성
CREATE OR REPLACE PROCEDURE WRITING_LOG
(
PROC_MESSAGE IN VARCHAR2
)
AS
PRAGMA AUTONOMOUS_TRANSACTION;
SORTING_NUM NUMBER(10);
BEGIN
SELECT SEQ_ERRORLOG.NEXTVAL INTO SORTING_NUM FROM DUAL;
INSERT INTO ERRORLOG (created_date, created_time, message)
VALUES ( to_char(sysdate, 'YYYYMMDD'), to_char(sysdate, 'HH24MISS'), SORTING_NUM ||' - '|| PROC_MESSAGE);
COMMIT;
END;
4. 디버깅하고자 하는 프로시저 내부에 WRITING_LOG 프로시저를 호출하여 로그 기록 하여 확인
WRITING_LOG('PROCEDURE LOG START ' ); -- 단순히 프로그램 시작 여부 체크
WRITING_LOG('PROCEDURE LOG : ' || STUDENT_NUMBER ); -- 프로시저 내부 변수 출력
WRITING_LOG('PROCEDURE LOG : ' || STUDENT_NUMBER || ' ★'); -- 프로시저 내부 변수 출력(2)
5. 주의사항
- AS 로 시작하는 프로시저 변수 선언부가 아닌, BEGIN 으로 시작하는 프로시저 기능구현 부분에 적어주어야 함.
그렇지 않을 경우 오류로 인해 수정된 프로시저 저장 안됨
반응형
'Dev > Database' 카테고리의 다른 글
[MSSQL] 테이블 목록 조회 (0) | 2024.05.27 |
---|---|
[DB/SQL] 더 빠른 SQL 쿼리를 위한 21가지 데이터베이스 튜닝 규칙, 쿼리 튜닝하는 법, 쿼리 성능 개선, 프로시저 튜닝, mssql, oracle, mysql (0) | 2024.05.22 |
[Oracle] 프로시저 실행하는 법 (0) | 2024.04.19 |
[Oracle] DB 유용한 팁 (0) | 2024.02.16 |
[MSSQL] PK 수정, PK 변경, PK 추가 (0) | 2023.12.20 |