Finns det något sätt att få triggers att trigga trigger rekursivt i egen tabell? Kryssa i rutan Recursive Triggers i database properties på din databas ;) Kan man styra det via SQL. Eftersom databasen är skriptad och kommer att installeras via sript? Ja det kunde man nog! Varför en IF-sats? För kör du rekursivt så fortsätter triggern att trigga sig själv 32 varv tills man inte får köra rekursivt längre i SQL-server! En trigger (och en procedur) kan anropa sig själv, direkt eller indirekt. 32 ggr, sedan är @@nestlevel 32 och då blir det ett fel och saker slutar funka som det är tänkt. Den borde väl bara anroipa sig rekursivt så länge det fi nns poster att ta bort?Triggers triggar inte Triggers FOR DELETE på Foreign KEY till egen tabell
<code>
CREATE TRIGGER triAnalysisDeepDelete ON tblAnalysisDeep FOR DELETE AS
DELETE tblAnalysisDeep WHERE [idParent] = (SELECT [id] FROM Deleted)
</code>Sv: Triggers triggar inte Triggers FOR DELETE på Foreign KEY till egen tabell
/mickeSv:Triggers triggar inte Triggers FOR DELETE på Foreign KEY till egen tabell
Sv: Triggers triggar inte Triggers FOR DELETE på Foreign KEY till egen tabell
<CODE>
exec sp_dboption N'mva2006', N'recursive triggers', N'true'
CREATE TRIGGER triAnalysisDeepDelete ON tblAnalysisDeep FOR DELETE AS
IF EXISTS (SELECT [ID] FROM tblAnalysisDeep WHERE [idParent] in (SELECT [id] FROM Deleted)) BEGIN
DELETE tblAnalysisDeep WHERE [idParent] = (SELECT [id] FROM Deleted)
END
</CODE>Sv:Triggers triggar inte Triggers FOR DELETE på Foreign KEY till egen tabell
<code>
exec sp_dboption N'mva2006', N'recursive triggers', N'true'
CREATE TRIGGER triAnalysisDeepDelete ON tblAnalysisDeep FOR DELETE AS
DELETE tblAnalysisDeep WHERE [idParent] IN (SELECT [id] FROM Deleted)
</code>Sv: Triggers triggar inte Triggers FOR DELETE på Foreign KEY till egen tabell
Sv: Triggers triggar inte Triggers FOR DELETE på Foreign KEY till egen tabell
/mickeSv:Triggers triggar inte Triggers FOR DELETE på Foreign KEY till egen tabell
Är det nödvändigt att göra den rekursiv. Kan ju skriva en sp som lanropas från triggern istället.