2011-08-10 12 views
14

मेरे पास एक क्वेरी है जो UPSERT करता है या यदि मौजूद है तो अद्यतन करें और यदि डालें तो डालें:एसक्यूएल सर्वर - ट्रिगर @@ रोकाउंट को प्रभावित करता है?

update MyTable 
set [Name][email protected] 
where [email protected] 

If @@RowCount = 0 
insert into MyTable([Name]) 
values(@Name) 

अब, मुझे आश्चर्य है कि @@RowCount किसी ट्रिगर में निष्पादित क्वेरी से प्रभावित होगा या नहीं? आइए मेरे ट्रिगर में कहें कि मेरे पास है:

insert into MyLogs(Description) 
values("Some description...") 

अगर अपडेट मेरी पहली क्वेरी में सफल होता है, तो ट्रिगर माईलोग्स में सम्मिलित करेगा जो पंक्तियों को प्रभावित करेगा।

उत्तर

12

@@ROWCOUNT आपके वर्तमान निष्पादन के दायरे से जुड़ा हुआ है और इसलिए एक ट्रिगर द्वारा अप्रभावित है, जो एक अलग दायरे में चलाएगा।

संबंधित मुद्दे