ALTER VIEW命令用来修改既有视图的定义。语法如下:
ALTER VIEW [ schema_name . ] view_name [ (column [ ,...n ] ) ]
[ WITH [ ENCRYPTION ] [ SCHEMABINDING ] [ VIEW_METADATA ] [ ,...n ] ]
AS select_statement
[ WITH CHECK OPTION ]
ALTER VIEW和CREATE VIEW使用相同的参数。例如:修改既有视图:
USE AdventureWorks
GO
--增加WHERE子句并修改移除ReferenceOrderID和ReferenceOrderLineID列
ALTER VIEW dbo.v_Product_TransactionHistory
AS
SELECT p.name,
p.ProductNumber,
t.TransactionID,
t.TransactionDate,
t.TransactionType,
t.Quantity,
t.ActualCost
FROM Production.TransactionHistory t
INNER JOIN Production.Product p ON
t.ProductID=p.ProductID
WHERE Quantity>10
GO
上面的代码用来从原始视图中移除两列并增加一个WHERE子句——都是通过在ALTER VI叫命令中的AS关键字之后重新定义SELECT语句来进行的。注意,如果修改一个索引视图(indexed view),所有索引都会被删除并需要手动重建。