본문 바로가기
백엔드/SQL

[SQL] Trigger (4)

by leejiwoo21 2021. 12. 13.

Trigger (4)

 

trigger로 사용자의 활동 기록하기

 

 

예시)

1. LogTable 만들기

create Table LogTable(
	logdate datetime not null,
	logUser varchar(30) null,
	logTableName varchar(30) null,
	logOperation varchar(30) null,
	logRecord varchar(max) null
)

2. 기록할 Trigger 만들기

create trigger tr_deleteBranch
on dbo.Branch
for delete
as
begin
declare
	@c1 datetime,
	@c2 varchar(30) ,
	@c3 varchar(30) ,
	@c4 varchar(30) ,
	@c5 varchar(max) 
	set @c1 = getdate()
	set @c2 = suser_name()
	set @c3 = 'dbo.Branch'
	set @c4 = 'delete'
	select @c5 = branchNo+','+street+','+city+','+postcode from deleted

	insert into LogTable values(@c1, @c2, @c3, @c4, @c5)
end
go

>> 시스템 테이블인 inderted 와 deleted 사용할 수 있다.

 

사용

>> 행을 삭제해서 trigger를 작동시킨 후

 

>> 행이 추가된 것을 확인

반응형

'백엔드 > SQL' 카테고리의 다른 글

[SQL] Trigger (3)  (0) 2021.12.13
[SQL] Trigger (2)  (0) 2021.12.13
[SQL] Trigger (1)  (1) 2021.12.13
[SQL] N' '  (0) 2021.12.04
[SQL] Stored procedure (2)  (1) 2021.12.04

댓글