J'ai un déclencheur récursif, qui semble faire exactement ce que je veux sans récursivité, mais quand je tourne récursif j'obtiens l'erreur: "Maximum stocké procédure, fonction, déclencheur, ou le niveau d'imbrication de la vue est dépassé (limite 32) "comment déboguer un déclencheur récursif
Cela ne devrait pas arriver, car j'imagine 2 ou peut-être 3 niveaux d'imbrication, donc j'ai besoin de déboguer le trigger et de déterminer ce qui se passe exactement. J'ai ajouté une instruction d'impression, mais cela ne fonctionne pas ...
Comment allez-vous déboguer un déclencheur récursif?
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
doux, oui, c'était le problème! –