Single query approach to split and copy string values in a column
You should make use of a split string function. 

select left(S.Item, charindex('|', S.Item) - 1),
       stuff(S.Item, 1, charindex('|', S.Item), '')
from dbo.tblProjects as P
  cross apply dbo.SplitString(P.Documents, '$') as S;


Aaron Bertrand blogged about some of the alternatives you have in Split strings the right way – or the next best way