A View is like one saved query request, it cannot contain complex logic or several operators (except for using union, etc.). For any complex or custom parameter, you choose stored procedures that provide much more flexibility.
It is common practice to use a combination of views and stored procedures in a database architecture, and possibly for various reasons. Sometimes this allows for backward compatibility in sprocs when re-designing a scheme, sometimes in order to make data more manipulative compared to how it is initially stored in tables (de-noramlized views).
Heavy use of views can degrade performance because SQL Server makes it difficult to optimize these queries. However, you can use indexed views, which can actually improve performance when working with joins in the same way as indexed tables. There are much more stringent restrictions on the allowed syntax when implementing indexed views and a lot of subtleties in the process of their work depending on the release of SQL Server.
Think that views are more like tables than stored procedures.
TheCodeKing Sep 22 '10 at 22:16 2010-09-22 22:16
source share