Teradata 简明教程

Teradata - Views

视图是通过查询构建的数据库对象。视图可以使用单个表或通过连接使用多个表构建。其定义永久存储在数据字典中,但它们不会存储数据的副本。视图的数据是动态构建的。

视图可能包含表的子行集或表的子列集。

Create a View

使用 CREATE VIEW 语句创建视图。

Syntax

以下是创建视图的语法。

CREATE/REPLACE VIEW <viewname>
AS
<select query>;

Example

考虑以下 Employee 表。

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;

Using Views

您可以使用常规 SELECT 语句从视图中检索数据。

Example

以下示例从 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

Modifying Views

可以使用 REPLACE VIEW 语句修改现有视图。

以下是修改视图的语法。

REPLACE VIEW <viewname>
AS
<select query>;

Example

以下示例修改视图 Employee_View 以添加额外列。

REPLACE VIEW Employee_View
AS
SELECT
EmployeeNo,
FirstName,
BirthDate,
JoinedDate
DepartmentNo
FROM
Employee;

Drop View

可以使用 DROP VIEW 语句删除现有视图。

Syntax

以下是 DROP VIEW 的语法。

DROP VIEW <viewname>;

Example

以下是删除视图 Employee_View 的示例。

DROP VIEW Employee_View;

Advantages of Views

  1. 视图通过限制表的行或列提供额外的安全级别。

  2. 可以仅授予用户对视图的访问权限,而不是授予对基础表的访问权限。

  3. 通过使用视图预连接多个表,简化了多个表的使用。