티스토리 뷰
트리거란 데이터 베이스 이벤트에 반응하여 실행되는 프로그램으로
프로시져와 구분해서 공부하는것이 좋다.
우선 트리거의 주된 사용목적은 데이터의 무결성을 보장하는
데이터베이스관리의 자동화이다.
이전 포스팅에서도 다루었듯이 오라클에서는 on update cascade를 지원하지 않으므로
트리거의 생성을 통해 부모테이블의 기본키를 수정한다면
기본키를 참조하는 자식테이블에서도 튜플이 갱신될수 있도록 한다.
트리거는 이런 데이터베이스의 이벤트에 반응하여 실행되는것으로 자동으로 실행되는것이고
수동으로는 실행될수 없다.
트리거의 생성 예시)
예제 : 부모릴레이션을 참조하는 자식릴레이션이 존재하는경우
부모릴레이션의 속성이 변경될때 자식릴레이션도 자동으로 참조하는 속성이 변경되는 트리거
(updata cascade)
// update cascade trigger
create or replace trigger 트리거명
after update on 부모테이블명
for each row
begin
update 자식테이블명
set 자식컬럼 = :new 부모컬럼
where 자식컬럼 = :old 부모컬럼;
end;
/
'DB > ORACLE' 카테고리의 다른 글
조인(join) (0) | 2023.09.01 |
---|---|
무결성 (0) | 2023.09.01 |
외래키(foreign key) (0) | 2023.08.31 |
ERD (0) | 2023.08.30 |
ORACLE의 함수 생성 (0) | 2023.08.29 |