第18.1节:创建带有架构绑定的视图
如果使用WITH SCHEMABINDING创建视图,则不能以会破坏视图的方式删除或修改底层表。例如,视图中引用的表列不能被删除。
sql
CREATE VIEW dbo.PersonsView
WITH SCHEMABINDING
AS
SELECT name, address
FROM dbo.PERSONS -- 使用WITH SCHEMABINDING时必须指定数据库架构
没有架构绑定的视图如果其底层表发生更改或被删除,可能会被破坏。查询损坏的视图将导致错误消息。可以使用sp_refreshview来确保没有架构绑定的现有视图不会被破坏。
第18.2节:创建视图
sql
CREATE VIEW dbo.PersonsView
AS
SELECT name, address
FROM persons;
第18.3节:创建或替换视图
此查询将删除视图(如果已存在)并创建新视图。
sql
IF OBJECT_ID('dbo.PersonsView', 'V') IS NOT NULL
DROP VIEW dbo.PersonsView
GO
CREATE VIEW dbo.PersonsView
AS
SELECT name, address
FROM persons;