본문 바로가기
IT/MSSQL

[MSSQL] 트리거(Trigger) 생성 3가지 유형(DELETE)

by 베베야 2021. 3. 25.
728x90

MSSQL에는 테이블에 이벤트가 생겼을 경우 자동으로 데이터를 입력 또는 삭제 해주는 트리거(Trigger)라는 기능이 있습니다. 오늘은 이 편리한 기능인 트리거 Delete 기능에 대해서 알아보겠습니다.

 

 

테이블 생성

트리거 사용을 위해 테이블이 2개 생성합니다.
TRG : DELETE 사용으로 테이터 삭제
TRG_DEL : TRG 테이블에 데이터가 삭제되면 자동으로 데이터 입력됨

create table TRG
(
name varchar(100)
)

create table TRG_DEL
(
name varchar(100)
)

 

트리거 생성

TRG 라는 테이블의 name 컬럼에 이름 추가되면
TRG_DEL 테이블의 name 컬럼에 이름+1이 추가되는 트리거를 생성합니다.

create trigger T_NAME_Delete on TRG -- create trigger [트리거명] on [트리거를 생성할 테이블] -- 
for Delete --TRG 테이블에 Delete 명령어가 실행되었을 경우
AS 

declare @name varchar(20) --@name 변수 선언

select @name=name from deleted -- 삭제한 데이터가 deleted 임시 테이블에 들어가고 그 데이터를 @name에 넣는다
insert into TRG_DEL values(@name+'1') -- TRG_DEL 테이블에 @name+'1' 값을 인설트 한다
select * from deleted --deleted 임시테이블의 내용을 보여준다

 

 

테이블 DELETE

TRG 테이블에 'A'를 삽입 후 삭제 합니다.

insert into TRG values ('A')
delete from TRG where name='A'

 

테이블 DELETE 결과

TRG 테이블 DELETE 명령어를 사용하여 'A'를 삭제하면 TRG 테이블에 생성한 T_NAME_delete 트리거를 타고
TRG_DEL 테이블에 'A1'이 자동으로 INSERT 되는것을 볼 수 있습니다.

select * from TRG
select * from TRG_DEL

(좌)삭제 전 / (우) 삭제 후



이상으로 트리거(Trigger) 생성 및 DELETE 예제 포스팅을 마치겠습니다.

 

[참조글]

트리거 INSERT

 

[MSSQL] 트리거(Trigger) 생성 3가지 유형(inserted)

MSSQL에는 테이블에 이벤트가 생겼을 경우 자동으로 데이터를 입력 또는 삭제해주는 트리거(Trigger)라는 기능이 있습니다. 오늘은 이 편리한 기능인 INSERTED 트리거에 대해서 알아보겠습니다. 테이

bebeya.tistory.com

 

트리거 UPDATE

 

[MSSQL] 트리거(Trigger) 생성 3가지 유형(UPDATE)

MSSQL에는 테이블에 이벤트가 생겼을 경우 자동으로 데이터를 입력 또는 삭제해주는 트리거(Trigger)라는 기능이 있습니다. 오늘은 이 편리한 기능인 트리거 UPDATE 기능에 대해서 알아보겠습

bebeya.tistory.com

트리거 활성화/비활성화

 

[MSSQL] 트리거(Trigger) 활성화/비활성화 2가지 사용법

트리거는 특정한 동작에 반응해 자동으로 필요한 동작을 실행하는 기능을 합니다. 오늘은 MSSQL에 트리거의 기능을 활성화(enable) / 비활성화(disable) 하는 방법에 대해서 알아보겠습니다. 마우스로

bebeya.tistory.com

 

반응형
그리드형

댓글