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
트리거 UPDATE
트리거 활성화/비활성화
반응형
그리드형
'IT > MSSQL' 카테고리의 다른 글
[MSSQL] 복합 인덱스 성능 테스트 (0) | 2021.03.26 |
---|---|
[MSSQL] 트리거(Trigger) 생성 3가지 유형(UPDATE) (0) | 2021.03.25 |
[MSSQL] 트리거(Trigger) 생성 3가지 유형(inserted) (0) | 2021.03.25 |
[MSSQL] 트리거(Trigger) 활성화/비활성화 2가지 사용법 (0) | 2021.03.25 |
Unable to create an instance of the Java Virtual Machine Located at path (SQLDeveloper 오류) (0) | 2021.03.24 |
댓글