1
재귀 트리거가 있습니다. 재귀가 필요없는 정확히 수행 할 것으로 보이지만 재귀를 사용할 때 "최대 저장 프로 시저, 함수, 트리거 또는 보기 중첩 수준 초과 (제한 32) "재귀 트리거를 디버깅하는 방법
중첩이 2 또는 3 레벨 일 것으로 예상되므로 이러한 상황이 발생하지 않아야하므로 트리거를 디버그하고 정확히 무슨 일이 일어나는지 알아야합니다. print 문을 추가했지만 작동하지 않습니다 ...
재귀 트리거를 디버깅하는 방법은 무엇입니까?
ALTER TRIGGER [dbo].[DataInstance2_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
declare @x int
SET @X = (select max(DataContainerId) from Inserted)
print @X
END
달콤한, 네, 그게 문제 였어요! –