If I JOIN
or CROSS APPLY
two tables and create a VIEW
, will the view automatically gets updated when I update either of the two tables or I add records to either of them?
Will these new records show up in the VIEW
?
Yes, they are updated, every time you use them.
I think Microsoft sums up what a View is quite clearly:
A view can be thought of as either a virtual table or a stored query.
http://msdn.microsoft.com/en-us/library/aa214068%28v=sql.80%29.aspx
Views are not automatically cached.
When you SELECT
from a view, the database has to run the query stored in the view to get the result set to use in your statement
The data you 'see' in a view, is not actually stored anywhere, and is generated from the tables on the fly.
Because of this be careful running views which are very complex. Always take into account that the view will have to be executed before its result set is accessed.