From just looking at it, it seems a bit tricky. Are you planning on recursive triggers? Also, not sure what happens in usp_Process, but it looks like you are only getting the first batchid that is inserted and calling that proc (what if >1 is inserted). I may be overlooking something because I just gave it an overview, but those are my thoughts. Does it work like you expect?