此语句用于创建数据库视图。视图用于以一种不同的角度提供数据,即使它不是以那种方式存储的。
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 权限。
自动提交。
SQL/92 初级特性。
SQL/99 核心特性。
Sybase 受 Adaptive Server Enterprise 支持。
下面的示例创建仅显示男雇员信息的视图。此视图和基表具有同样的列名。
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
SQL Anywhere Studio 9.0.2
版权所有 © 1989–2005 Sybase, Inc. 部分版权所有 © 2001–2005 iAnywhere Solutions, Inc. 保留所有权利。