OR REPLACE 子句
指定 OR REPLACE (CREATE OR REPLACE VIEW) 将创建一个新视图或替换同名的现有视图。使用 OR REPLACE 子句时保留现有权限,但删除视图上的 INSTEAD OF 触发器。
AS 子句
视图所基于的 SELECT 语句。SELECT 语句不能引用局部临时表。另外,SELECT 语句可以具有 GROUP BY、HAVING、WINDOW 或 ORDER BY 子句,可以包含 UNION、EXCEPT 或 INTERSECT 或公用表表达式。但是,通过将
SELECT 与 ORDER BY 子句配合使用(并结合使用 FIRST 或 TOP 子句),可以影响视图定义的结果。
WITH CHECK OPTION 子句
WITH CHECK OPTION 子句拒绝不满足 SELECT 语句定义的视图条件的任何视图更新和插入。
CREATE OR REPLACE VIEW EmployeesAndDepartments
AS SELECT Surname, GivenName, City, State, Country
FROM Employees JOIN Departments
ON Employees.DepartmentID = Departments.DepartmentID;
CREATE VIEW EmployeesByState
AS SELECT Surname, GivenName, DepartmentName
FROM Employees JOIN Departments
ON Employees.DepartmentID = Departments.DepartmentID
WHERE Employees.State = var1 and Employees.Status = var2;
在变量为允许的表达式的上下文中,变量可以出现在视图的 SELECT 语句中。例如,下面的参数化视图将参数 var1 用作 LIKE 谓语的模式:
CREATE VIEW ProductsByDescription
AS SELECT *
FROM Products
WHERE Products.Description LIKE var1;