DB/MSSQL

[MSSQL] Trigger(트리거)

Plone 2021. 1. 19. 17:49

#Trigger(트리거)

특정 테이블에 Insert, Update, Delete 작업이 실행 되었을 때,

지정해놓은 동작이 실행되는 것

테이블(Table)과 뷰(View)를 대상으로 지정할 수 있다

 

 

#사용 방식

사용 예를 들면 카카오에서 회원정보 수정(Update)을 할 경우

카카오페이나, 카카오뱅크등, 카카오 관련 서비스의 회원정보도 수정이 필요한데

트리거를 사용하면 회원정보가 업데이트 되면  다른 카카오서비스의 회원정보도 갱신되는 방식으로 사용한다

 

#코드 예제

1.트리거 작성

CREATE TRIGGER 트리거명
ON 대상테이블명
{FOR/AFTER} {SELECT/INSERT/DELETE/ALTER}
AS -- AS이후 작업 내용 작성

 

트리거 작성시엔 GO를 사용해서 일괄로 처리해야한다 

FREEBOARD에 Insert 작업이 실행된 후에

AS이후 INSERT문을 실행하는 트리거이다

GO -- 트리거 생성시 GO로 일괄처리 해야한다

--트리거 작성
CREATE TRIGGER FreeBoard_Trigger
ON FreeBoard --대상 테이블에서
AFTER Insert --Insert 작업이 일어난 후에

AS -- AS 이후 작업이 실행 됨

INSERT INTO FreeBoard(
BoardNum,
BoardId,
InsertDate)
Values(
'0',
'TRIGGER',
GETDATE()
)

 

#위의 소스코드 실행 예제

Insert작업이 일어난 후 트리거로 지정해놓은 Inert문이 실행되는 모습