잠재적으로 스스로를 호출 할 수있는 업데이트 트리거를 작성했습니다 (이는 원하는 동작 임).재귀 트리거를 작성하는 방법
불행히도 트리거는 자체를 호출하지 않으며 이유를 볼 수 없습니다. 이 트리거는 단순히 상위 키를 기반으로하는 하위 레코드의 값을 변경하는 것입니다. 그런 다음 업데이트되는 해당 자식에 대해 트리거가 다시 발생해야하며 해당 자식에 대한 하위 레코드가 업데이트되어야한다고 기대합니다.
트리거가 성공적으로 완료되고 자식 레코드가 예상대로 설정되는 동일한 업데이트를 수동으로 실행할 수 있습니다.
내가 EXEC sp_configure를 '중첩 트리거'를 실행하고 그
최소 돌아왔다 : 0, 최대 : 1, config_value : 1, run_value : 1, 그래서 재귀가 켜져있는 것 같다.
ALTER TRIGGER [dbo].[DataInstance_Trigger]
ON [dbo].[DataInstance]
AFTER UPDATE
AS
BEGIN
UPDATE DataInstance
SET
DataInstance.IsCurrent = i.IsCurrent
FROM DataInstance di
Inner join DataContainer dc on
di.DataContainerId = dc.DataContainerId
Inner join Inserted i on
dc.ParentDataContainerId = i.DataContainerId
WHERE di.IsCurrent != i.IsCurrent
END
'재귀 반환 triggers'' : 디버깅을위한
을, 당신은 또한 인쇄를 사용할 수 있습니까? –