[Database] 프로시저와 트리거

Walter Mitty·2023년 1월 15일
0

절차형 SQL

  • 연속적인 실행이나, 분기, 반복 등의 제어가 가능한 SQL은 절차형 SQL이다.
  • 종류로는 프로시저(Procedure), 트리거(Trigger), 사용자 정의 함수가 있다.
프로시저트리거
CREATE PROCEDURE 문법 사용CREATE TRIGGER 문법 사용
생성하면 소스코드와 실행코드가 생성됨생성하면 소스코드와 실행코드가 생성됨
EXECUTE 명령어로 실행생성 후 자동실행
COMMIT, ROLLBACK 가능COMMIT, ROLLBACK 불가능

프로시저

  • 프로시저는 처리결과를 반환하지 않거나 한개 이상의 값을 반환한다.
  • 특정 기능을 수행하는 일종의 트랜잭션 언어로, 호출을 통해 실행되어 미리 저장해 놓은 SQL 작업을 수행한다.

잡스케줄러
잡스케줄러
프로시저 잡
잡 문법

job repeat_interval

SYSDATE+7 : 7일에 한번 씩 job 수행
SYSDATE+1/24 : 1시간에 한번 씩 job 수행
SYSDATE+30/ : 30초에 한번 씩 job 수행(24: 시간 당, 1440(24x60):분 당, 86400(24x60x60):초 당 )
TRUNC(SYSDATE, 'MI')+8/24 : 최초 job 수행시간이 12:29분 일 경우 매시 12:29분에 job 수행
TRUNC(SYSDATE+1) : 매일 밤 12시에 job 수행
TRUNC(SYSDATE+1)+3/24 : 매일 오전 3시 job 수행
NEXT_DAY(TRUNC(SYSDATE),'MONDAY')+15/25 : 매주 월요일 오후 3시 정각에 job 수행
TRUNC(LAST_DAY(SYSDATE))+1 : 매월 1일 밤 12시에 job 수행
TRUNC(LAST_DAY(SYSDATE))+1+8/24+30/1440 : 매월 1일 오전 8시 30분


트리거

  • 데이터의 입력, 갱신, 삭제 등의 이벤트가 발생할 때마다 자동적으로 수행되는 절차형 SQL

0개의 댓글