codecamp

Teradata 视图

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

创建视图

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

语法

以下是创建视图的语法。

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

例子

考虑以下Employee表。

员工不名字生日
101MikeJames1/5/1980
104AlexStuart11/6/1984
102RobertWilliams3/5/1983
105RobertJames12/1/1984
103PeterPaul4/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 <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; 

视图的优点

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

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

  • 通过使用视图预联接多个表来简化其使用。

Teradata JOIN索引
Teradata 宏
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }