创建实例化视图时,其定义存储在数据库中。数据库服务器会验证其定义,以确保编译正确。数据库服务器会对所有列和表引用进行完全限定,以确保对视图具有访问权的所有用户看到相同的定义。成功创建实例化视图后,使用 REFRESH MATERIALIZED VIEW 语句在视图中填入数据,也称为初始化视图。请参见REFRESH MATERIALIZED VIEW 语句。
创建、初始化或刷新实例化视图前,应确保所有实例化视图的限制均已得到满足。请参见实例化视图的限制。
要获得数据库中所有实例化视图的列表(包括各视图状态),请使用 sa_materialized_view_info 系统过程。请参见sa_materialized_view_info 系统过程。
创建完实例化视图的定义后,它会出现在 Sybase Central 的 [视图] 文件夹中。
以具有 DBA 或 RESOURCE 权限的用户身份连接到数据库。
在左窗格中,右击 [视图] 并选择 [新建] » [实例化视图]。
按照 [创建实例化视图向导] 中的说明操作。
初始化实例化视图,以使它包含数据。请参见初始化实例化视图。
处理该示例时,应删除所创建的实例化视图。否则,在试验其它示例时,将无法对其基础表 Employees 和 Departments 执行模式更改。无法变更具有已启用相关实例化视图的表的模式。请参见删除实例化视图。
以具有 DBA 或 RESOURCE 权限的用户身份连接到数据库。
执行 CREATE MATERIALIZED VIEW 语句。数据库服务器即创建视图定义并将其存储在数据库中,并且将视图的状态设置为 [已启用]。请参见CREATE MATERIALIZED VIEW 语句。
必须初始化实例化视图,以使其包含数据。请参见初始化实例化视图。
以下语句创建一个包含雇员相关信息的实例化视图 EmployeeConfid16,然后对其初始化以在其中填充数据。
CREATE MATERIALIZED VIEW EmployeeConfid16 AS SELECT EmployeeID, Employees.DepartmentID, SocialSecurityNumber, Salary, ManagerID, Departments.DepartmentName, Departments.DepartmentHeadID FROM Employees, Departments WHERE Employees.DepartmentID=Departments.DepartmentID; REFRESH MATERIALIZED VIEW EmployeeConfid16; |
使用完该示例后,应删除所创建的实例化视图。否则,在试验其它示例时,将无法对其基础表 Employees 和 Departments 执行模式更改。无法变更具有已启用相关实例化视图的表的模式。请参见删除实例化视图。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |