我试图通过这样最简单的方式创建一个视图:
Use SoccerDB;
GO
CREATE VIEW ExampleDBaseII
AS
SELECT ID, Cast(Name AS Varchar) as Name,Cast(City AS Varchar) as City,
FROM Team
GO
Run Code Online (Sandbox Code Playgroud)
我该怎么做,以便该视图保持其与表的链接,因此如果更改表,视图也会更改,而无需再次创建或创建新表。那可能吗?我使用 Sql Server 2008 R2 thanxs
WITH SCHEMABINDING在视图中使用
CREATE VIEW ExampleDBaseII
WITH SCHEMABINDING
AS
SELECT T.ID, Cast(T.Name AS Varchar) as Name, Cast(T.City AS Varchar) as City,
FROM Team T
GO
Run Code Online (Sandbox Code Playgroud)
这将禁止对可能影响视图的底层表进行任何更改
它还要求使用限定符(架构、别名)并禁止使用SELECT *.
这是一个很好的事情(SO链接)