Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.0 (中文) » SQL Anywhere 服务器 - SQL 的用法 » 使用数据库对象 » 使用实例化视图

 

启用和禁用实例化视图

可以通过启用或禁用实例化视图来控制数据库服务器能否使用该视图。优化期间,优化程序也不会考虑禁用的实例化视图。如果某个查询显式地引用禁用的实例化视图,则查询会失败并返回错误。禁用实例化视图时,数据库服务器会删除视图的数据,但保留数据库中的定义。实例化视图在重新启用后处于未初始化状态,必须进行刷新才能在其中填入数据。

禁用实例化视图时,数据库服务器会自动禁用依赖于实例化视图的常规视图。因此,重新启用实例化视图后,必须重新启用所有相关视图。为此,禁用实例化视图前,最好确定出其相关视图的列表。为此可使用 sa_dependent_views 系统过程。此过程会检查 ISYSDEPENDENCY 系统表并返回相关视图的列表(如果有)。

禁用实例化视图时,将删除数据和索引。如果视图是快速视图,会更改为手动视图。因此,重新启用实例化视图时,必须刷新它,重建索引,并将其更改回快速视图(如果需要)。

可以授予对禁用对象的权限。对禁用对象的权限存储在数据库中,在对象被启用时生效。

 ♦  禁用实例化视图 (Sybase Central)
  1. 以具有 DBA 权限的用户身份或实例化视图所有者身份使用 SQL Anywhere 12 插件连接到数据库。

  2. 在左窗格中,双击 [视图]。

  3. 右击实例化视图,并选择 [禁用]。

 ♦  禁用实例化视图 (SQL)
  1. 以具有 DBA 权限的用户身份,或以实例化视图所有者身份连接到数据库。

  2. 执行 ALTER MATERIALIZED VIEW ...DISABLE 语句。

 ♦  启用实例化视图 (Sybase Central)
  1. 以具有 DBA 权限的用户身份或实例化视图所有者身份使用 SQL Anywhere 12 插件连接到数据库。

  2. 在左窗格中,双击 [视图]。

  3. 右击实例化视图,然后选择 [重新编译和启用]。

  4. 或者,右击视图,然后选择 [刷新数据] 以初始化该视图并在其中填充数据。

 ♦  启用实例化视图 (SQL)
  1. 以具有 DBA 权限的用户身份,或以实例化视图所有者身份连接到数据库。

  2. 执行 ALTER MATERIALIZED VIEW ...ENABLE 语句。

  3. 或者,执行 REFRESH MATERIALIZED VIEW 以初始化视图并在其中填入数据。

 禁用实例化视图的示例
 启用实例化视图的示例
 另请参见