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문이 실행되는 모습