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; 

视图的优点

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

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

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