Database/MS-SQL | Posted by 아키텍처 2012. 4. 24. 18:17

TRIGGER (트리거) 사용방법

 
 

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 트리거의 경우 테이블당 한개만 존재가능합니다. 잊지마세요 ㅋㅋ

Posted by 김준홍 (http://www.Juuun.com)