CREATE VIEW statement called SCHEMA BINDING tells SQL Server to check for dependencies and disallow any modifications that would violate them : Create View « View « SQL Server / T-SQL






CREATE VIEW statement called SCHEMA BINDING tells SQL Server to check for dependencies and disallow any modifications that would violate them

1> create table employee(
2>     ID          int,
3>     name        nvarchar (10),
4>     salary      int,
5>     start_date  datetime,
6>     city        nvarchar (10),
7>     region      char (1))
8> GO
1>
2> insert into employee (ID, name,    salary, start_date, city,       region)
3>               values (1,  'Jason', 40420,  '02/01/94', 'New York', 'W')
4> GO

(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (2,  'Robert',14420,  '01/02/95', 'Vancouver','N')
3> GO

(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (3,  'Celia', 24020,  '12/03/96', 'Toronto',  'W')
3> GO

(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (4,  'Linda', 40620,  '11/04/97', 'New York', 'N')
3> GO

(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (5,  'David', 80026,  '10/05/98', 'Vancouver','W')
3> GO

(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (6,  'James', 70060,  '09/06/99', 'Toronto',  'N')
3> GO

(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (7,  'Alison',90620,  '08/07/00', 'New York', 'W')
3> GO

(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (8,  'Chris', 26020,  '07/08/01', 'Vancouver','N')
3> GO

(1 rows affected)
1> insert into employee (ID, name,    salary, start_date, city,       region)
2>               values (9,  'Mary',  60020,  '06/09/02', 'Toronto',  'W')
3> GO

(1 rows affected)
1>
2> select * from employee
3> GO
ID          name       salary      start_date              city       region
----------- ---------- ----------- ----------------------- ---------- ------
          1 Jason            40420 1994-02-01 00:00:00.000 New York   W
          2 Robert           14420 1995-01-02 00:00:00.000 Vancouver  N
          3 Celia            24020 1996-12-03 00:00:00.000 Toronto    W
          4 Linda            40620 1997-11-04 00:00:00.000 New York   N
          5 David            80026 1998-10-05 00:00:00.000 Vancouver  W
          6 James            70060 1999-09-06 00:00:00.000 Toronto    N
          7 Alison           90620 2000-08-07 00:00:00.000 New York   W
          8 Chris            26020 2001-07-08 00:00:00.000 Vancouver  N
          9 Mary             60020 2002-06-09 00:00:00.000 Toronto    W

(9 rows affected)
1>
2> -- CREATE VIEW statement called SCHEMA BINDING tells SQL Server to check
3> -- for dependencies and disallow any modifications that would violate them
4>
5>
6> CREATE VIEW MyView WITH SCHEMABINDING
7> AS
8> SELECT ID, Name
9> FROM dbo.Employee
10> GO
1>
2> select * from myview
3> GO
ID          Name
----------- ----------
          1 Jason
          2 Robert
          3 Celia
          4 Linda
          5 David
          6 James
          7 Alison
          8 Chris
          9 Mary

(9 rows affected)
1>
2> CREATE VIEW MyView2 WITH SCHEMABINDING
3> AS
4> SELECT Name
5> FROM dbo.MyView
6> GO
1>
2> select * from myview2
3>
4> drop view myview2
5> drop view myview
6> drop table employee
7> GO
Name
----------
Jason
Robert
Celia
Linda
David
James
Alison
Chris
Mary

(9 rows affected)
1>

           
       








Related examples in the same category

1.More Complex Views: inner join
2.Create a simple view and retrieve data from it
3.Simple Views
4.Use view to filter out the NULL data
5.When you create a view, you're really just naming a SQL SELECT statement
6.Stored Procedures as Parameterized Views
7.CREATE VIEW myView WITH SCHEMABINDING
8.WITH CHECK OPTION keeps the results synchronized with the table(s)
9.View cannot be sorted with ORDER BY unless the TOP command is also used
10.Column names in a view can be defined in the CREATE statement
11.Create view based on table-join query
12.Rename column when creating a view