업데이트 할 트리거를 작성 했으므로 업데이트가 발생할 때마다 트리거가 실행됩니다. 하지만 내 업데이트 진술 중 하나에 대해서는 트리거가 발생하지 않기를 바랍니다. 트리거를 일시적으로 사용 중지하려면 어떻게해야합니까?일부 상황에서 업데이트 트리거 비활성화
1
A
답변
0
사용하지 않도록 트리거 문 다음은
DISABLE TRIGGER Person.uAddress ON Person.Address;
update ....
ENABLE Trigger Person.uAddress ON Person.Address;
0
당신은 테이블과 트리거를 변경해야합니다 다음과 같이 업데이트를 수행함. 가능한 해결책 중 하나는 테이블에 열을 추가하는 것입니다 (예 : 트리거 됨). "정상적인"업데이트를 만들 때 1을 삽입해야합니다. 업데이트를 피하려면 트리거 된 = 0이 필요합니다. 트리거 코드가 있어야한다 :
IF EXISTS(SELECT * FROM INSERTED WHERE triggered=1)
--here you trigger fired
4
MSDN은 하나의 세션에 대해 use CONTEXT_INFO to disable a trigger하는 방법의 예를 가지고있다.
Dalex의 대답에 유사
0
:
또 다른 해결책은 Triggered
처럼 열을 추가하는 것입니다. 그리고 당신의 방아쇠에 이것을 사용하십시오.
IF NOT UPDATE(Triggered)
BEGIN
RETURN;
END
UPDATE()
Triggered = 1
이 있으면 트리거됩니다. 이 쿼리가없는 쿼리는 트리거를 실행하지 않습니다.
nvarchar 열을 사용하고 이유 필드를 플래그와 설명으로 사용할 수 있습니다. 트리거가 발생하지 않습니다 TUS
UPDATE Users
SET Password = ..encrypted_password..,
Reason = 'changed password'
WHERE UserID = ...
다음
IF NOT UPDATE(Reason)
BEGIN
RETURN;
END
알의 사용자가 로그인시가 lastlogin 필드를 업데이트하는 경우, 당신은 이유를 제외 할 수 있습니다.
UPDATE Users
SET LastLogin = getDate()
WHERE UserID = ...
관련 문제
- 1. 업데이트 트리거
- 2. MySQL- 트리거 업데이트 순위
- 3. MySQL 트리거 사용자 계정 비활성화
- 4. 열 업데이트 트리거
- 5. SQL 트리거 재귀 업데이트
- 6. TSQL 트리거 업데이트 함수
- 7. KVO로 속성 업데이트 트리거
- 8. GROUP BY로 트리거 업데이트
- 9. 업데이트 패널 트리거
- 10. 업데이트 트리거 삽입 Null
- 11. 일부 상황에서 SocketExceptions을 삼키는 것이 좋습니까?
- 12. 일부 상황에서 잘못된 변경 집합으로 병합
- 13. 보고 서비스식이 일부 상황에서 오류를 발생시킵니다.
- 14. SQL 업데이트 트리거 열 이름
- 15. 대체 업데이트 기본 키 트리거 및 업데이트
- 16. 테이블에 업데이트 트리거 업데이트 행이 포함되어야 함
- 17. MySQL 트리거 - 업데이트 후 삭제
- 18. 기본 키 업데이트 트리거 대신
- 19. 프로그래밍 방식으로 시장 자동 업데이트 활성화/비활성화
- 20. 업데이트 패널 트리거 발생 안 함
- 21. 트리거 삽입 이전 값 - 업데이트 된 값
- 22. 일부 GtkMenu 항목을 비활성화/비활성화하는 방법
- 23. 여러 레코드 업데이트 화재 트리거 한 번
- 24. create_update.update_object로 일부 필드 만 업데이트
- 25. 그림자 맵이 일부 상황에서 그림자를 제대로 투영 할 수 없습니까?
- 26. Sql Server 2005 - 삽입 업데이트 트리거 - 업데이트 된 행 삽입
- 27. jQuery로 토글 할 때 기능 업데이트 비활성화
- 28. 비활성화 됨 양식 요소 ASP.NET MVC 업데이트
- 29. 오라클 트리거 Insert 또는 Update에서 필드 업데이트
- 30. sql - ModifyDate 필드를 채우기위한 트리거 업데이트
제 생각에 'disable trigger'는 동시에 실행될 경우 다른 업데이트에도 영향을 미칩니다. 이걸 테이블 자물쇠로 감싸 야합니다. – Andomar