A view is a virtual table, which gives access to a subset of columns from one or more tables. Hence, a view is an object that derives its data from one or more tables. These tables are referred to as the base tables or the underlying tables.
Views ensure security of data by restricting access to the following data:
v Specific rows of the table
v Specific columns of the table.
v Rows fetched by using joins.
v Statistical summary of data in a given table.
v Subsets of another view or a subset of views and tables
Common examples of views include:
ü A subset of rows or columns of a base table.
ü A union of two or more tables
ü A join of two or more tables
ü A statistical summary of a base tables
ü A subset of another view, or some combination of views and base tables.
Using the CREATE VIEW statement we can create a view.
The syntax of the CREATE VIEW statement is:
The restrictions imposed on views are as follows:
ü A view can be created only in the current database.
ü A view can be created only if there is the SELECT permission on its base table.
ü The SELECT INTO statement cannot be used in a view declaration statement.
ü A view cannot derive its data from temporary tables.
The above statements create a view named custview, which contains the custoemerid, companyname and the phone columns of the customer table. The following statement can be used to execute a view:
Getting View Information
SQL Server stores information in a view in the following system tables.
ü Sysobjects-stores the name of the view
ü Syscolumns-stores the names of the columns defined in the view.
ü Sysdepends-stores information on the view dependencies
ü Syscomments-stores the text of the view definition
Altering a view
A view can be modified without dropping it. It ensures that the permissions on the view are not lost. A view can be altered without affecting its dependent objects, such as, triggers and stores procedures.
A view can be modified using the ALTER VIEW statement.
The syntax of ALTER VIEW statement is:
The statement generates the results:
SELECT * FROM custview
Dropping a View
A view can be dropped from a database using the DROP VIEW statement. When a view is dropped, it has no effect on the underlying table(s). Dropping a view removes its definition and all permissions assigned to it. Further more if users query any views that refer to a dropped view, they receive an error message. However, dropping a table that refers to a view does not drop the view automatically. You must drop it explicitly.
The syntax of DROP VIEW statement is:
DROP VIEW view_name
Where view_name is the name of the view to be dropped.
It is possible to drop multiple views with a single DROP VIEW. A comma in the DROP statement separates each view that needs to be dropped.
Renaming a View
A view can be renamed with out dropping it. This also ensures that the permissions on the view are not lost.
The guidelines to be followed for renaming a view as follows.
ü The view must be in the current database.
ü The new name for the view must follow the rules for renaming identifiers.
ü Only the owner of the view and the database in which view is created can rename a view.
A view can be renamed by using the sp_rename system stored procedure.
The syntax of sp_rename is