![](/img/trans.png)
[英]maximum stored procedure, function, trigger, or view nesting level exceeded
[英]Trigger throws error Maximum stored procedure, function, trigger, or view nesting level exceeded
我有兩個看起來幾乎相同但差異很小的觸發器
觸發1
create trigger tr_EligebilityCheckSRmonth
on dbo.Clients
after INSERT,UPDATE
as
BEGIN
UPDATE Clients
SET
StatusID = 5
WHERE
ClientID IN (Select ClientID
from Clients c
join IncomeEligibility i
on c.HshldSize = i.HshldSize
where c.HshldSize= i.HshldSize
and c.AnnualHshldIncome >= i.SeniorMo
and StatusID in (1,2)
and c.CategCode = 'SR'
and MonthlyYearly ='month')
END
觸發2
create trigger tr_EligebilityCheckSRyear
on dbo.Clients
after INSERT,UPDATE
as
BEGIN
UPDATE Clients
SET
StatusID = 5
WHERE
ClientID IN (Select ClientID
from Clients c
join IncomeEligibility i
on c.HshldSize = i.HshldSize
where c.HshldSize= i.HshldSize
and c.AnnualHshldIncome >= i.SeniorMo
and StatusID in (1,2)
and c.CategCode = 'SR'
and MonthlyYearly ='year')
End
當我提交這樣的插入ststamnet時
INSERT INTO Clients (ClientID, LastName, FirstName, MidInitial, DOB, Address, Address2, City, Zip, Phone, CategCode, StatusID, Hispanic, EthnCode, LangID, ClientProxy, Parent, HshldSize, AnnualHshldIncome, MonthlyYearly, PFDs, WIC, Medicaid, ATAP, FoodStamps, AgencyID, RoutID, DeliveryNotes, AppDate, CertifiedDate, Notes)
VALUES (13542,'Test','Test',null,'1982-10-20','P.O. Box 5',null,'TEST',99999,'(907) 111-1111','SR',1, 0, 'W',1, null, null,3,1000000,'year',0,0, 1, 0,1,45, null,null,'2011-04-27', null,null);
它引發錯誤
*消息217,第16級,狀態1,程序tr_EligebilityCheckSRyear,第28行
超出最大存儲過程,函數,觸發器或視圖嵌套級別(限制32)。*
我試圖將它們組合在一個觸發器中,並使用其他觸發器,但是沒有任何懷疑。 如果我在系統中只有其中一個,則可以使用,但是當我有兩個時,它將引發錯誤。 如何解決這個問題? 我在這里檢查其他帖子,但找不到任何有用的信息。
在觸發器中發出和UPDATE,對於觸發器綁定到的表,它將無法執行您期望的操作。 僅僅因為更新代碼在觸發器代碼內部並不意味着update語句不會導致觸發器一遍又一遍地觸發。 如果有幫助,您可以獲取UPDATED和DELETED的游標,以表示已更新或刪除的記錄。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.