Two options: Both depend on MovID being an Identity field as described
One: Allow the native Identity function to input this field. Just don't import anything into that field, SQL will update it automatically with the next available value. However you would not have control of the specific MovID (number) assigned.
Two: Use the Identity_Insert function to allow updating of the Identity field. If your NewMovID is a good solid Identity field this should not be a problem.
Set Identity_Insert Stocks ON
remainder of your code
Set Identity_Insert Stocks OFF
That is the thought that I'm trying to work with.
Update all of the records in Stocks with everything except MovId.
Create a temp table containing all the records with [null] in MovId.
Run a cursor against the temptable that updates MovId in Stocks.
Problem is I suck at Cursors and haven't had the time to work out how this would work.