How to Create VIEW With SCHEMABINDING in SQL
In this article I am going to explain how to create VIEW With SCHEMABINDING in SQL
Introduction
View in SQL is a virtual table and this table is created on the result set of SQL statement. View is similar to a normal table and also have rows and columns. View may be combination of some rows and columns of two or more than two tables. You can use SQL function and WHERE clause with View in SQL statement.
View works on tables stored in database. If someone delete table then view doesn't work. You can restrict these tables that no one delete these table before deletion of view. For this we create view with SCHEMA BINDING in SQL. To create view we use CREATE VIEW With SCHEMABINDING statement.
A Statement that create vendors table
create table vendors
(
vendorid int,
vendorname varchar(15),
vendorcity varchar(15),
vendorstate varchar(15)
)
|
Statements that insert data in vendors table
insert into vendors values (20,'vipendra','noida','up')
insert into vendors values (21,'deepak','lucknow','up')
insert into vendors values (22,'rahul','kanpur','up')
insert into vendors values (23,'malay','delhi','delhi')
insert into vendors values (24,'mayank','noida','up')
|
A Statement that is used to fetch data from vendors table

A Statement that create mcninvoices table
create table mcninvoices
(
invoiceid int not null identity primary key,
vendorid int not null,
invoiceno varchar(15),
invoicetotal money,
paymenttotal money,
creadittotal money
)
|
Statements that insert data in mcninvoices table
insert into mcninvoices values (20,'e001',100,100,0.00)
insert into mcninvoices values (21,'e002',200,200,0.00)
insert into mcninvoices values (22,'e003',500,0.00,100)
insert into mcninvoices values (23,'e004',1000,100,100)
insert into mcninvoices values (24,'e005',1200,200,500)
|
A Statement that is used to fetch data from mcninvoices table

A Statement that is used to create a view with schemabinding in SQL
create view viewschema
with schemabinding
as
select vendorname as name,invoicetotal as invoice_total
from dbo.mcninvoices join dbo.vendors
on mcninvoices.vendorid=vendors.vendorid
|
A Statement that show data in view
