Let’s create a SampleDB database fist with SQL Management Studio. Now we have to create a table in SampleDB.
Let’s Name the table as – Employee
CREATE TABLE [dbo].[tblEmployee](
[Emp_ID] [int] NOT NULL,
[Emp_Name] [varchar](max) NOT NULL,
[Emp_Age] [int] NOT NULL,
[Emp_Salary] [int] NOT NULL,
[Emp_City] [varchar](max) NOT NULL,
[Emp_Gender] [char](1) NOT NULL,
CONSTRAINT [PK_tblEmployee] PRIMARY KEY CLUSTERED
(
[Emp_ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
Now insert data in new Employee table :
INSERT INTO [dbo].[tblEmployee] SELECT 1,'Shashangka',20,35000,'Dhaka',1 UNION ALL SELECT 2,'Shekhar', 19, 40000, 'Bagerhat', 1 UNION ALL SELECT 3,'Shamim', 21, 35000, 'Dhaka', 0 UNION ALL SELECT 4,'Shariar', 20, 40000, 'Rajshahi', 1 UNION ALL SELECT 5,'Rajib', 22, 35000, 'Rajshahi', 0 UNION ALL SELECT 6,'Avishek', 21, 35000, 'Barishal', 1 UNION ALL SELECT 7,'Asif', 23, 40000, 'Dhaka', 0
Now what is View?
Creates a virtual table whose contents (columns and rows) are defined by a query. Used to hide the complexity of the underlying database schema.
Syntax:
CREATE VIEW [ schema_name . ] view_name [ (column [ ,...n ] ) ] [ WITH[ ,...n ] ] AS select_statement [ WITH CHECK OPTION ] [ ; ]
Let’s create a view based on our newly created table:
-- CREATE VIEW --
CREATE VIEW [EmployeeView]
AS
(
SELECT * FROM [dbo].[tblEmployee]
)
GO
SELECT * FROM [EmployeeView]
GO
----------------------------------------------------
CREATE VIEW [EmployeeView_Column] ([Emp_ID],[Emp_Name])
AS
(
SELECT [Emp_ID],[Emp_Name] FROM [dbo].[tblEmployee]
)
GO
SELECT * FROM [EmployeeView_Column]
GO
Let’s alter created view:
-- ALTER VIEW --
ALTER VIEW [EmployeeView]
AS
(
SELECT * FROM [dbo].[tblEmployee]
)
GO
SELECT * FROM [EmployeeView]
GO
----------------------------------------------------
ALTER VIEW [EmployeeView_Column] ([Emp_ID],[Emp_Name])
AS
(
SELECT [Emp_ID],[Emp_Name] FROM [dbo].[tblEmployee]
)
GO
SELECT * FROM [EmployeeView_Column]
GO
Let’s drop altered view:
--DROP VIEW -- DROP VIEW [EmployeeView] GO
When to use View?
- To hide the complexity of the underlying database schema, or customize the data and schema for a set of users.
- To control access to rows and columns of data.
- To aggregate data for performance