Teradata 视图
视图是由查询构建的数据库对象。可以使用单个表或多个表通过联接来构建视图。它们的定义永久存储在数据字典中,但不存储数据的副本。视图的数据是动态构建的。
一个视图可能包含表的行的子集或表的列的子集。
创建视图
视图是使用 CREATE VIEW 语句创建的。
语法
以下是创建视图的语法。
CREATE/REPLACE VIEW <viewname>
AS
<select query>;
示例
考虑以下员工表。
EmployeeNo |
名字 |
姓氏 |
出生日期 |
101 |
迈克 |
詹姆斯 |
1/5/1980 |
104 |
亚历克斯 |
斯图尔特 |
11/6/1984 |
102 |
罗伯特 |
威廉姆斯 |
3/5/1983 |
105 |
罗伯特 |
詹姆斯 |
12/1/1984 |
103 |
彼得 |
保罗 |
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 的语法。
示例
以下是删除视图 Employee_View 的示例。
视图的优势
视图通过限制表的行或列来提供额外的安全级别。
用户只能访问视图而不是基表。
通过使用视图预先连接多个表,简化了它们的使用。