Teradata 视图
视图是由查询构建的数据库对象。视图可以通过连接使用单个表或多个表来构建。它们的定义永久存储在数据字典中,但它们不存储数据的副本。视图的数据是动态构建的。
视图可能包含表的行子集或表的列子集。
创建视图
视图是使用 CREATE VIEW 语句创建的。
语法
以下是创建视图的语法。
CREATE/REPLACE VIEW <viewname> AS <select query>;
例子
考虑下面的 Employee 表。
职工号 | 名 | LastName | 出生日期 |
---|---|---|---|
101 | Mike | James | 1/5/1980 |
104 | Alex | Stuart | 11/6/1984 |
102 | Robert | Williams | 3/5/1983 |
105 | Robert | James | 1984 年 12 月 1 日 |
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 <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;
视图的优点
-
视图通过限制表的行或列来提供额外的安全级别。
-
用户只能访问视图而不是基表。
-
通过使用视图预连接多个表来简化它们的使用。