Teradata - 视图


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

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

创建视图

视图是使用 CREATE VIEW 语句创建的。

句法

以下是创建视图的语法。

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

例子

考虑以下 Employee 表。

员工号 出生日期
101 麦克风 詹姆士 1980年1月5日
104 亚历克斯 斯图尔特 1984年11月6日
102 罗伯特 威廉斯 1983年3月5日
105 罗伯特 詹姆士 1984年12月1日
103 彼得 保罗 1983年4月1日

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

视图的优点

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

  • 用户只能访问视图,而不能访问基表。

  • 通过使用视图预先连接多个表来简化它们的使用。