SQL

[MSSQL] 트리거 만들기 Insert,Update,Delete 양식

하루종일v 2017. 12. 19. 15:58

ALTER TRIGGER 트리거이름

    ON 테이블이름

    FOR DELETE, INSERT, UPDATE --삭제,입력,업데이트시 일어난다.

    AS

    BEGIN

    SET NOCOUNT ON

 

DECLARE @ACTION AS CHAR(1)--삭제,입력,업데이트 구분자

 

SET @ACTION='I'--기본적으로 입력

IF EXISTS(SELECT * FROM DELETED)--삭제가 있으면? 업데이트 또는 삭제

BEGIN

SET @ACTION=(CASE WHEN EXISTS(SELECT * FROM inserted) THEN 'U' ELSE 'D' END)

    END

 

 

IF @ACTION='D'

BEGIN

--삭제시 수행할 쿼리들

END

ELSE IF @ACTION='U'

BEGIN

--업데이트시 수행할 쿼리들

END

  ELSE

  BEGIN

--입력시 수행할 쿼리들

  END

 

반응형