📅  最后修改于: 2020-11-29 09:06:05             🧑  作者: Mango
视图是由查询构建的数据库对象。可以通过联接使用单个表或多个表来构建视图。它们的定义永久存储在数据字典中,但不存储数据副本。该视图的数据是动态构建的。
视图可以包含表的行的子集或表的列的子集。
使用CREATE VIEW语句创建视图。
以下是创建视图的语法。
CREATE/REPLACE VIEW
AS
考虑下面的雇员表。
EmployeeNo | FirstName | LastName | BirthDate |
---|---|---|---|
101 | Mike | James | 1/5/1980 |
104 | Alex | Stuart | 11/6/1984 |
102 | Robert | Williams | 3/5/1983 |
105 | Robert | James | 12/1/1984 |
103 | Peter | Paul | 4/1/1983 |
以下示例在Employee表上创建一个视图。
CREATE VIEW Employee_View
AS
SELECT
EmployeeNo,
FirstName,
LastName,
FROM
Employee;
您可以使用常规的SELECT语句从视图中检索数据。
下面的示例从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
AS
以下示例修改视图Employee_View以添加其他列。
REPLACE VIEW Employee_View
AS
SELECT
EmployeeNo,
FirstName,
BirthDate,
JoinedDate
DepartmentNo
FROM
Employee;
可以使用DROP VIEW语句删除现有视图。
以下是DROP VIEW的语法。
DROP VIEW ;
以下是删除视图Employee_View的示例。
DROP VIEW Employee_View;
视图通过限制表的行或列来提供更高级别的安全性。
只能授予用户访问视图的权限,而不能授予基表的访问权限。
通过使用视图将表预连接来简化多个表的使用。