📅  最后修改于: 2021-01-11 11:39:20             🧑  作者: Mango
视图是由查询生成的数据库对象。可以通过联接使用单个表或多个表来创建视图。
它们的定义永久存储在数据字典中,但不保存副本。该视图的数据是动态构建的。
视图可以包含表的行的子集或列的子集。
使用特殊形式的数据定义语言(DDL)创建视图。 CREATE请求一个新的VIEW,提供视图的名称和SELECT。建议使用以“ v_”开头或以“ _v”结尾的视图名称,以将其标识为视图名称。
这样,对于人们来说,这显然是视图而不是表,这是显而易见的。视图的名称必须与数据库中其他对象的名称唯一。 CREATE VIEW验证该名称尚不存在,如果存在,则返回错误。
句法
以下是创建视图的语法。
CREATE/REPLACE VIEW
AS
注意
例
考虑下面的雇员表。
Emp_Id | First_Name | Last_Name | Department_No | BirthDate |
---|---|---|---|---|
202001 | Mike | Richard | 1 | 4/8/1988 |
202002 | Robert | Williams | 2 | 8/5/1991 |
202003 | Peter | Collin | 2 | 5/9/1990 |
202004 | Alexa | Stuart | 1 | 15/11/1989 |
202005 | Robert | Peterson | 1 | 22/2/1990 |
以下示例在Employee表上创建一个视图。
CREATE VIEW Employee_View
AS
SELECT
Emp_Id,
First_Name,
Last_Name,
Department_No,
BirthDate,
FROM
Employee;
我们可以使用常规的SELECT语句从视图中检索数据。
例
下面的示例从Employee_View中检索记录;
SELECT Employee_Id,
First_Name,
Last_Name,
Department_No,
BirthDate,
FROM Employee_View;
可以使用REPLACE VIEW语句修改当前视图。
REPLACE VIEW重新定义一个现有视图,或者,如果指定的视图不存在,它将使用指定的名称创建一个新视图。
句法
以下是修改视图的语法。
REPLACE VIEW
AS
例
以下示例修改视图Employee_View以添加其他列。
REPLACE VIEW Employee_View
AS
SELECT
Employee_Id,
First_Name,
Last_Name,
BirthDate,
JoinedDate
Department_No
FROM
Employee;
可以使用DROP VIEW语句删除当前视图。
句法
以下是DROP VIEW的语法。
DROP VIEW ;
例
以下是删除视图Employee_View的示例。
DROP VIEW Employee_View;
这是在Teradata中使用View的一些优点,例如: