대신 트리거가 일반 트리거와 공존합니까? 그렇다면 우리가 알아야 할 잠재적 인 문제가 있습니까?트리거 대신 - 일반 트리거와 공존 할 수 있습니까
답변
INSTEAD OF
트리거가 일반 트리거와 공존 할 수 있습니다. 나는 이것을 잘했다.
INSTEAD OF
트리거는 잠재적 인 문제가 많습니다. 주로 삽입/업데이트/삭제 동작을 사용자가 정의한 것으로 대체합니다. 개발자는 UPDATE User SET Address = 'foo' WHERE UserID = 4
을 생각하지 않을 수 있습니다. 그러나 방아쇠를 사용하여 수십 개의 인증 테이블을 터치하고 전 세계의 서버와 대화 할 수 있다면 잠재적 인 혼란을 많이 겪게됩니다.
예상되는 IUD 문의 동작과 함께 이러한 트리거의 동작을 유지하십시오. 너무 많이하지 마라.
INSTEAD OF
트리거는 매우 강력한 도구이며 쉽게 오용됩니다. 적절하고 신중하게 사용하십시오.
나는 INSTEAD OF
과 AFTER
(AKA FOR
) 트리거를 동시에 사용하는 것과 관련하여 걱정할 사항을 발견하지 못했습니다. INSTEAD OF
트리거와 주요 문제는 다음과 같습니다
- 에만 테이블 당 작업 당 하나의
INSTEAD OF
트리거를 가질 수 있습니다; - 그들은
OUTPUT INTO
절과 혼동 될 수 있습니다 (즉, 신원 값이 0이 됨). - 테이블에 스키마를 변경하면 트리거를 유지하지 않도록 조심하지 않으면 나중에 어느 시점에서 이상하게 작동하지 않을 수 있습니다.
이러한 경고는 모두 AFTER
트리거와 관련이 없으므로 걱정할 사항이 없습니다. 테이블 조작과 간섭 할 가능성이 적으므로 테이블과 대조적으로 뷰에 INSTEAD OF
트리거를 쓰는 것이 더 일반적이라고 말하지만 이들은 기본적으로 삽입 가능/업데이트 가능보기를 만드는 데 도움이되는 도구로 설계되었습니다. 당신이 조심 있다면
어쨌든, 당신은 괜찮을거야,하지만 그들은에 대한 이유에 열심히 일반적으로 간단한 작업을하기 때문에 나는 여전히 당신이 실제로 가을 필요로하지 않는 한 INSTEAD OF
트리거를 사용에 대해 추천 할 것입니다.
- 1. 이러한 경로가 공존 할 수 있습니까?
- 2. InstantDjango를 일반 설치 대신 사용할 수 있습니까?
- 3. MVC 3과 WebForms가 웹 사이트에 공존 할 수 있습니까?
- 4. 캐슬 모노레일과 ASP.NET MVC가 같은 프로젝트에서 공존 할 수 있습니까?
- 5. MVC (또는 MVP)가 SOA와 공존 할 수 있습니까?
- 6. PyQt4와 Qt4/C++가 Windows에서 공존 할 수 있습니까?
- 7. @ Autowired 및 기본 autowire가 공존 할 수 있습니까?
- 8. 트리거와 모델 업데이트
- 9. 오라클 대신 "트리거"
- 10. 변환기를 사용하는 대신 TextBlock 트리거
- 11. db 트리거 대신 더 좋은 방법이 있습니까?
- 12. 트리거 내에서 시퀀스를 검색 할 수 있습니까?
- 13. 어떻게이 오류 템플릿을 트리거 할 수 있습니까?
- 14. 클릭 이벤트 onload를 트리거 할 수 있습니까
- 15. divcontainer가 Mouseevents를 트리거 할 수 있습니까?
- 16. Wpf 데이터 트리거 값은 일반 유형 일 수 있습니까?
- 17. 삭제 대신 대신 레코드 삭제 트리거
- 18. 대신 FileStream을 사용하여 삭제 트리거
- 19. 젠킨스 (Jenkins)는 어떻게 SCM 트리거와 사용자 요청 빌드를 구별 할 수 있습니까?
- 20. 기본 키 업데이트 트리거 대신
- 21. UIPopoverController에서보기 대신 단추를 배치 할 수 있습니까?
- 22. HTaccess 리디렉션을 통해 Javascript 액션을 트리거 할 수 있습니까?
- 23. 어떻게 장고에서 일반 OneToOne 관계를 만들고 적용 할 수 있습니까?
- 24. Force.com 워크 플로 - 트리거와 어떻게 다른가요?
- 25. 파이썬에서 일반 열기/쓰기를 통해 stdout에 액세스 할 수 있습니까?
- 26. AWS 대신 일반 서버를 사용해야합니까?
- 27. SharePoint에서 파일 대신 폴더를 나열하도록 일정보기를 구성 할 수 있습니까?
- 28. 동일한 파이썬 설치에서 동일한 라이브러리의 두 버전이 공존 할 수 있습니까?
- 29. 일반 메서드로 다른 생성자에서 생성자를 호출 할 수 있습니까?
- 30. WPF에서 트리거와 이벤트의 차이점은 무엇입니까?
당신이 무엇을 하든지, multipe 레코드가 배치에 추가/업데이트/삭제되는 경우 작동하지 말아야합니다. 이것은 데이터가 획득 될 때 트리거 대신에 더 중요합니다. 실제로 들어가면 (예 : 가격 인상과 같은) 1,000 개의 레코드를 일괄 적으로 업데이트 할 수 있으며 업데이트의 insted는 하나의 레코드 만 처리하도록 작성됩니다. 가능하면 하나만 업데이트됩니다. 이렇게하면 데이터 무결성이 크게 높아질 수 있습니다. – HLGEM