알림, NewItemNotifications 및 항목 테이블이 3 개 있습니다.
일부 항목을 삭제할 때 NewItemNotification 행을 삭제하는 NewItemNotifications 및 Items 테이블에 ON DELETE 규칙을 설정했습니다.
문제는 알림 테이블의 부모 행이 여전히 존재한다는 것입니다. 어떻게 처리 할 수 있습니까?SQL Server ON DELETE 및 상속
0
A
답변
2
NewItemNotification
는 종속 테이블입니다 - 데이터베이스 제약 조건을 통해 부모 레코드의 삭제를 실행할 수 없다. 유일한 방법은 NewItemNotification
에 데이터베이스 트리거를 작성하여 종속 레코드가 삭제 된 후 Notification
테이블에서 삭제를 수행하는 것입니다.
트리거가 존재하는지 알 수 없기 때문에 EF가 NewItemNotification
을 삭제하려고하면 이러한 트리거가 문제를 일으킬 수 있습니다. 처음에는 Notification
항목 삭제를 트리거하는 NewItemNotification
항목을 EF없이 삭제했습니다. EF는 Notification
레코드를 다시 삭제하려고 시도하지만 레코드가 이미 삭제되었습니다. 나는 그것이 동시성 예외를 초래할 것이라고 생각한다.
이 경우 가장 좋은 옵션은 계단식 삭제를 사용하지 않고 직접 삭제를 처리하는 것입니다.
관련 문제
- 1. SQL Server ON DELETE 트리거
- 2. SQL Server ON DELETE CASCADE 오류
- 3. SQL Server 및 LINQ의 상속?
- 4. ON DELETE NO ACTION 제약 조건 SQL Server 데이터베이스
- 5. SQL Server 2005 on SQL Server 2000
- 6. 참조주기 : ON DELETE CASCADE?
- 7. Sql Server replication on wan
- 8. NHibernate KeyNotFoundException on delete
- 9. invoke_ascmd on SQL Server 2012
- 10. SQL Server 2005에서 BEFORE DELETE 트리거를 에뮬레이트하는 방법
- 11. 'ON DELETE CASCADE'가 작동하지 않습니다.
- 12. MongoDB DBRef ON DELETE CASCADE
- 13. 복잡한 SQL 쿼리 (DELETE)?
- 14. SQL DELETE with INNER JOIN
- 15. SQL Server 데이터 비교가 "ON DELETE SET NULL"외래 키 관계를 유지하지 않음
- 16. DELETE ... LIMIT 절 (SQL)
- 17. SQL Select then Delete
- 18. SQL Server JOIN ON 값이 ELSE NULL
- 19. SQL Server (2005) - DATETIME 및 인덱싱에서 "Deleted On"
- 20. SQL Server 2000 및 SQL Server 2008 쿼리
- 21. SQL Server GROUPING 및 DISTINCT
- 22. SELECT 및 DELETE
- 23. ADVICE on billing SQL Server 2000의 쿼리
- 24. SQL Server 2008의 OrderBY on XML 열
- 25. Ruby on Rails + Sql Server 2005
- 26. 동일한 테이블 (MSSQL2008)에 ON DELETE CASCADE가있는 여러 FK
- 27. 사용자 정의 errortext on delete jqGrid
- 28. SQL Server 쿼리 및 중복
- 29. sql delete 문
- 30. sql delete from start