both are for different purposes.
a view is to hide the complexity of the sql statement.
everytime u query the view, the base sql on which the view is built,
it issued...in simple word, view will not help in performance.
A stored procedure is one used again to hide the direct-sql against the database and it is a bit faster.
Becuase it does parse the sql again and again. Instead, it parses once and use the pcode the next time.
if u dont want to issue the complex sql within the procedure ( to reduce code??) create a view and use it inside a stored procedure....