视图是由查询构建的数据库对象.可以使用单个表或多个表通过连接构建视图.它们的定义永久存储在数据字典中,但它们不存储数据的副本.视图的数据是动态构建的.
视图可能包含表的行子集或表的列子集.
使用CREATE VIEW语句创建视图.
以下是语法创建视图.
CREATE/REPLACE VIEW <viewname> AS <select query>;
考虑以下员工表.
EmployeeNo | FirstName | LastName | BirthDate |
---|---|---|---|
101 | Mike | 詹姆斯 | 1/5/1980 |
104 | Alex | Stuart | 11/6/1984 |
102 | Robert | Williams | 3/5/1983 |
105 | Robert | James | 12/1/1984 |
103 | 彼得 | 保罗 | 4/1/1983 |
以下示例在Employee表上创建一个视图.
CREATE VIEW Employee_View AS SELECT EmployeeNo, FirstName, LastName, FROM Employee;
您可以使用常规SELECT语句从Views中检索数据.
以下示例从Employee_View检索记录;
SELECT EmployeeNo, FirstName, LastName FROM Employee_View;
执行上述查询时,会产生以下输出.
*** Query completed. 5 rows found. 3 columns returned. *** Total elapsed time was 1 second. EmployeeNo FirstName LastName ----------- ------------------------------ --------------------------- 101 Mike James 104 Alex Stuart 102 Robert Williams 105 Robert James 103 Peter Paul
现有视图可以是使用REPLACE VIEW语句修改.
以下是修改视图的语法.
REPLACE VIEW <viewname> AS <select query>;
以下示例修改了视图Employee_View以添加其他列.
REPLACE VIEW Employee_View AS SELECT EmployeeNo, FirstName, BirthDate, JoinedDate DepartmentNo FROM Employee;
可以使用DROP VIEW语句删除现有视图.
以下是DROP VIEW的语法.
DROP VIEW <viewname>;
以下是删除视图Employee_View的示例.
DROP VIEW Employee_View;
视图提供额外的通过限制表的行或列来确保安全级别.
用户只能访问视图而不是基表.
通过使用视图预加入多个表来简化它们的使用.