동캄의 코딩도장

sql triggers [1] 본문

CS/데이터베이스

sql triggers [1]

동 캄 2022. 1. 9. 16:31
반응형

trigger란 어떤 조건이 발생했을 때 old row/table 또는 new row/table에 대해 특정한 조건에 대해 테이블을 update,insert,delete 하는 함수를 의미한다.

 

new는 새롭게 들어온 데이터나 수정된 데이터를 의미하고,

old는 삭제 혹은 수정되기 전 데이터를 의미한다.

ex)

create trigger R1

after insert on Student

for each row

when New.GPA>3.3 and New.GPA<=3.6

begin

insert into Apply(New.sID, 'stanford', 'geology' ,null);

insert into Apply(New.sID, 'MIT', 'geology' ,null);

end;

 

트리거를 생성하고, 

 

insert 문을 실제로 삽입해보면 GPA 조건을 만족하는 튜플에 대해 apply에도 튜플이 생성된 것을 확인할 수 있다.

 

또, 조건을 추가해서 트리거를 만들수도 있다.

 

create trigger R4

before insert on cName on College

for each row

when exists (select * from College whre cName=New.cName)

begin

select raise(ignore)

end;

 

create trigger R5

before update of cName on College

for each row

when exists (select * from College where cName=New.cName)

begin

select raise(ignore)

end;

 

 

 

 

 

반응형

'CS > 데이터베이스' 카테고리의 다른 글

sql views  (0) 2022.01.16
sql triggers [2]  (0) 2022.01.09
sql references  (0) 2022.01.09
sql constraints  (0) 2022.01.09