Při existenci více triggerů nad jednou tabulkou může nastat chyba: maximum stored procedure function trigger or view nesting level exceeded (limit 32)
Obecně asi nastal v principu tento případ:
Máme tabulku T, ve které jsou definovány dva triggery:
Trigger A se spustí a modifikuje data v tabulce T, což následně spustí trigger B
Trigger B, který také modifikuje data v tabulce T, následně spustí: Trigger A.
Aby nedošlo k rekurzivnímu volání a zacyklení tak v Triggeru B použijeme kontrolu úrovně zanoření.
IF TRIGGER_NESTLEVEL() > 1RETURN
Oba triggery se vykonají a nedojde k nekonečné smyčce
Dopručení:
v externích rekurzivních triggerech použít kontrolu úrovně zanoření