📜  Teradata-视图

📅  最后修改于: 2020-11-29 09:06:05             🧑  作者: Mango


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

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

创建一个视图

使用CREATE VIEW语句创建视图。

句法

以下是创建视图的语法。

CREATE/REPLACE VIEW  
AS  

考虑下面的雇员表。

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;

使用视图

您可以使用常规的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  
AS  

以下示例修改视图Employee_View以添加其他列。

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

放下视图

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

句法

以下是DROP VIEW的语法。

DROP VIEW ; 

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

DROP VIEW Employee_View; 

视图的优点

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

  • 只能授予用户访问视图的权限,而不能授予基表的访问权限。

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