Teradata 視圖

2018-01-12 15:09 更新

視圖是由查詢構(gòu)建的數(shù)據(jù)庫(kù)對(duì)象。 可以使用單個(gè)表或通過連接的多個(gè)表來(lái)構(gòu)建視圖。 它們的定義永久存儲(chǔ)在數(shù)據(jù)字典中,但它們不存儲(chǔ)數(shù)據(jù)的副本。 視圖的數(shù)據(jù)是動(dòng)態(tài)構(gòu)建的。
視圖可以包含表的行的子集或表的列的子集。

創(chuàng)建視圖

視圖是使用CREATE VIEW語(yǔ)句創(chuàng)建的。

語(yǔ)法

以下是創(chuàng)建視圖的語(yǔ)法。

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

例子

考慮以下Employee表。

員工不名字生日
101MikeJames1/5/1980
104AlexStuart11/6/1984
102RobertWilliams3/5/1983
105RobertJames12/1/1984
103PeterPaul4/1/1983

以下示例在Employee表上創(chuàng)建視圖。

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

使用視圖

您可以使用常規(guī)SELECT語(yǔ)句從視圖檢索數(shù)據(jù)。

例子

以下示例從Employee_View中檢索記錄;

SELECT EmployeeNo, FirstName, LastName FROM Employee_View;

當(dāng)執(zhí)行上述查詢時(shí),它將產(chǎn)生以下輸出。

*** 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語(yǔ)句修改現(xiàn)有視圖。

以下是修改視圖的語(yǔ)法。

REPLACE VIEW <viewname> 
AS  
<select query>;

例子

以下示例修改視圖Employee_View以添加其他列。

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

下降視圖

可以使用DROP VIEW語(yǔ)句刪除現(xiàn)有視圖。

例子

下面是DROP VIEW的語(yǔ)法。

DROP VIEW <viewname>; 

例子

下面是一個(gè)刪除視圖Employee_View的示例。

DROP VIEW Employee_View; 

視圖的優(yōu)點(diǎn)

  • 視圖通過限制表的行或列來(lái)提供額外的安全級(jí)別。

  • 用戶只能訪問視圖而不是基表。

  • 通過使用視圖預(yù)聯(lián)接多個(gè)表來(lái)簡(jiǎn)化其使用。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)