by 초보oracle [SQL Query] [2016.03.29 09:42:54]
프로시저를 만들고 스케줄 걸어놨는데 반영이 안된거 같아서여
프로시저가 제대로 실행이되서 완료가 된건지 확인을 하고싶은데
방법이 있을까요??
ㅇ테이블을 하나 만든 뒤, 프로시저 맨마지막 단계에서 테이블에 데이터를 입력하는 방식으로 확인할 수 있습니다.
ㅇselect job, what, last_date, broken from user_jobs; 하여 해당 job이 에러없이 실행됐는지 확인할 수 있습니다.
ㅇselect * from user_scheduler_job_log; 을 하여 확인할 수 있습니다.
답변 감사합니다!!
프로시저를 스케줄설정이 아닌 실행을 해보려고하는데 어떻게 해야하는지 알수 있을까요??
또한 테이블을 하나 생성 후 프로시저 맨마지막에 추가해야한다는건 어떤거를 추가해서 실행해줘야하는건지 알수있을까요???
1. 프로시저 실행
exec 프로시저명(파라미터, ...);
2. 테이블의 형태는 고정된 것이 없습니다. 예컨데 이렇게 만들어서 데이터를 넣으면 된다는 뜻입니다.
create table job_log(job_name varchar2(100), finished_date date);
insert into job_log('프로시저명', sysdate);
테스트를 위해 프로시저를 직접수행해서 결과를 바로 볼 경우
테이블에 데이터를 넣는 대신 프로시저내에 dbms_output을 이용해 값을 찍어봐도 됩니다.
프로시저 하단에 아래 구문 추가
dbms_output.put_line('프로시저 수행완료');
sqlplus 기준 아래 명령어 수행
set serveroutput on
exec 프로시저명(파라미터, ....);