TRIGGER (트리거) 사용방법
트리거는 어떻게 사용하나요?
백문이 불여일타죠 ㅋㅋ
자 예제 바로 들어갑니다.
Create TRIGGER [트리거이름]
ON [트리거에 사용될 테이블명]
-- 각각 등록,수정,삭제 경우에 따라
For INSERT, UPDATE, DELETE -- AFTER 트리거의 경우
Instead Of INSERT, UPDATE, DELETE -- Instead Of 트리거의 경우
AS
BEGIN
SET NOCOUNT ON;
-- 처리로직
Declare @구분 Varchar(20)
-- 삭제가 존재할때 deleted 테이블에 로우가 존재한다. 해당로우에는 삭제테이터가 들어있음.
If Exists (Select * From deleted)
Begin
-- 등록이 존재할때 inserted 테이블에 로우가 존재한다. 해당로우에는 등록테이터가 들어있음.
If 'Y' = (Select 삭제여부 From inserted)
Begin
Set @구분 = '삭제'
End
Else
Begin
Set @구분 = '수정'
End
End
Else
Begin
Set @구분 = '신규'
End
End
-- 위를 보고 짐작하시겠지만, 수정의 경우는 deleted, inserted 테이블에 각각 존재합니다.
-- 수정은 데이터를 지우고, 다시 등록하는 형태이니까요. ^^*
END
GO
주의할점!
Instead Of 트리거의 경우 테이블당 한개만 존재가능합니다. 잊지마세요 ㅋㅋ
'Database > MS-SQL' 카테고리의 다른 글
TRANSACTION AUTO COMMIT 해제하기 (0) | 2012.04.24 |
---|---|
데이터가 존재하는 테이블에 순번추가하기 (0) | 2012.04.24 |
TRIGGER (트리거) 란? (0) | 2012.04.24 |
원하는 길이만큼 앞에 0을 붙여주는 함수 (0) | 2012.04.24 |
인덱스고찰 (인덱스,물리적조인) (0) | 2012.04.24 |