見た目はほとんど同じですが、わずかな違いがある2つのトリガーがあります
トリガー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)。*
私はそれらを1つのトリガーに組み合わせて、他のIFを使用しようとしましたが、問題はありません。システムに1つしかない場合は機能しますが、2つある場合はエラーが発生します。この問題を解決するにはどうすればよいですか?ここで他の投稿を確認しましたが、役立つものが見つかりません。