데이터베이스 개발자 질문과 답변 게시판
데이터베이스 개발/운영 관련 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
안녕하세요.
트리거를 작성하던 중 궁금한 사항이 있어서 질문 드립니다.
update 트리거의 경우 다음과 같이 작성을 했습니다.
CREATE TRIGGER [xxx].[TR_AG_MEMBER
ON [AAA.[MEMBER]
FOR INSERT,UPDATE,DELETE
AS
BEGIN
DECLARE @icnt INT
DECLARE @dcnt INT
SET @icnt = (select count(*) from inserted)
SET @dcnt = (select count(*) from deleted)
IF (@icnt > 0)
BEGIN
IF (@dcnt > 0)
BEGIN
IF (UPDATE(MOBILE_NO)) <-- 이놈이 MOBILE_NO에 변경이 일어 났을 경우 처리를 하는 부분인데요.
만약 다른컬럼에 변경이 일어났을 경우엔 어떤식으로 처리를 해야 하나요?
IF(UPDATE(MOBILE_NO))
BEGIN
END
IF(UPDATE(USER_NM))
BEGIN
END
이런식으로 해야 하는 건가요?.
혹시
IF(UDDATE(USER_NM,MOBILE_NO)) 처럼 쭉 써주는 방식은 없는건지 궁금해서 질문 드립니다.
감사합니다.
Comment 1
-
icham
2017.09.21 15:21
아 찾았습니다.
IF (UPDATE(NAME) OR UPDATE(EMAIL)) 이런식으로 하면 되네요...;;