에 특정 열 값을 변경하는 방법을 나는 세 개의 테이블 캐스케이드
Company
Department
Cost-centers
을 가지고 있고 그들은 일대 다 관계를 가지고있다. 내 회사처럼 여러 부서가있을 수 있습니다. 우리 회사에는 열
is_active
이 있습니다.
해당 열과 관련된 해당 부서의 관련 부서가 비활성 (삭제되지 않음)이어야하며 해당 부서와 관련된 비용 센터도 비활성으로 변경되어야합니다.
캐스케이드 삭제를 사용하고 있지만 삭제하고 싶지 않습니다. 특정 열을 활성에서 비활성으로 업데이트하고 싶습니다. 같은 방식으로, 즉 Cost_Centers를 업데이트
if update(is_Active) begin
update Department set is_Active=i.is_Active
from Department as d inner join inserted as i
on d.CompanyID = i.ID
where d.CompanyID = i.ID and d.is_Active<>i.is_Active
end
그리고 부서의 다른 트리거 :