Teradata - 意见

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

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

创建视图

使用CREATE VIEW语句创建视图.

语法

以下是语法创建视图.

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

示例

考虑以下员工表.

EmployeeNoFirstNameLastNameBirthDate
101Mike詹姆斯1/5/1980
104AlexStuart11/6/1984
102RobertWilliams3/5/1983
105RobertJames12/1/1984
103彼得保罗4/1/1983

以下示例在Employee表上创建一个视图.

CREATE VIEW Employee_View 
AS 
SELECT 
EmployeeNo, 
FirstName, 
LastName, 
FROM  
Employee;

使用视图

您可以使用常规SELECT语句从Views中检索数据.

示例

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

视图的优点

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

  • 用户只能访问视图而不是基表.

  • 通过使用视图预加入多个表来简化它们的使用.