question

Mrs_Fatherjack avatar image
Mrs_Fatherjack asked

Profiler Query

I have a trigger that writes data to a history table, one field in this table is the iUserID field. This field is taken from the iUserID field in the Inserted table, however in actual fact it's taking the data from an old history record rather than the person who actually updated the data. I have run a trace to see where this data is changing and all I'm getting back is the trigger that's firing, this is correct but I think there must be an action prior to this that I'm missing on the trace that's updating the table and therefore populating the Inserting table when I run the update. Can someone please advise me on what I should tick to ensure that all scripts run are returned. I have already ticked under stored procedures the SP:StmtComplted and SP:StmtStarting columns to ensure I get the triggers that are fired. Please let me know if you need more information, I know this looks messy but I can't but the code in as it's 2500 lines long.
profilertrace
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

·
Fatherjack avatar image
Fatherjack answered
is the trigger looking for more than one row in the Inserted table? - http://msdn.microsoft.com/en-us/library/ms190752.aspx
3 comments
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

No, there should only be 1 row affected.
0 Likes 0 ·
wholly possible that is expected. Does the trigger handle if there are more than one though? It ought to regardless of the current issue... Where is the 'old history record' coming from then? A separate select somewhere or a join?
0 Likes 0 ·
A separate select.
0 Likes 0 ·

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.