Collection Contents 上一页 下一页 PDF

ASA SQL 参考

SQL 语句

CREATE VIEW 语句


说明 

此语句用于创建数据库视图。视图用于以一种不同的角度提供数据,即使它不是以那种方式存储的。

语法 

CREATE VIEW
owner.]view-name [ ( column-name, ... ) ]
AS select-statement
WITH CHECK OPTION ]

参数 

view-name    view-name 是标识符。缺省所有者是当前用户 ID。

column-name    视图中的列名由 column-name 列表指定。如果没有指定列名列表,则视图列名来自选择列表项。为了使用选择列表项中的名称,每项必须是简单列名或者指定了别名(请参见 SELECT 语句)。此选择列表中的所有项的名称必须是唯一的。

AS 子句    视图基于的 SELECT 语句不能有 ORDER BY 子句。它可以有 GROUP BY 子句并且可以是 UNION。SELECT 语句不能引用局部临时表。

WITH CHECK OPTION 子句    WITH CHECK OPTION 子句拒绝不满足 SELECT 语句定义的视图条件的任何视图更新和插入。

用法 

CREATE VIEW 语句创建具有给定名称的视图。通过指定 owner 可以创建由其他用户拥有的视图。必须具有 DBA 权限才能为其他用户创建视图。

在 SELECT、DELETE、UPDATE 和 INSERT 语句中,可以使用视图名取代表名。但在数据库中,视图实际上不是以表的形式存在。每次使用时它们就会派生。视图来自于 CREATE VIEW 语句中指定的 SELECT 语句。视图中使用的表名应该由表所有者的用户 ID 限定。否则,一个不同的用户 ID 可能无法找到表或者可能得到错误的表。

视图可以更新,除非定义视图的 SELECT 语句包含 GROUP BY 子句、集合函数或涉及 UNION 操作。视图的更新会导致基表更新。

权限 

必须有 RESOURCE 权限和视图定义中的表的 SELECT 权限。

副作用 

自动提交。

另请参见 
标准和兼容性 
示例 

下面的示例创建仅显示男雇员信息的视图。此视图和基表具有同样的列名。

CREATE VIEW male_employee
AS SELECT *
FROM Employee
WHERE Sex = 'M'

下面的示例创建显示雇员和他们所属部门的视图。

CREATE VIEW emp_dept
AS SELECT emp_lname, emp_fname, dept_name
FROM Employee JOIN Department
ON Employee.dept_id = Department.dept_id

Collection Contents 上一页 下一页 PDF