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 的用法 » 使用数据库对象 » 使用实例化视图

 

实例化视图的限制

创建、初始化、刷新和查看匹配的实例化视图时,以下限制适用:

  • 创建实例化视图时,实例化视图的定义必须明确定义列名称;列定义中不能包括 SELECT * 结构。

  • 不要在实例化视图中包含定义为 TIMESTAMP WITH TIME ZONE 的列。由于 time_zone_adjustment 选项在不同位置和年份时间的两个连接之间会不同,因此会生成错误的结果和意外的行为。

  • 创建实例化视图时,其定义中不能包含:

    • 对其它实例化或非实例化视图的引用

    • 对远程表或临时表的引用

    • 变量,如 CURRENT USER;所有表达式必须是确定性表达式

    • 对存储过程、用户定义的函数或外部函数的调用

    • Transact-SQL 外连接

    • FOR XML 子句

  • 创建实例化视图时,以下数据库选项必须具有指定的设置;否则将返回错误。要使优化程序能够使用该视图,也需要这些数据库选项:

    • ansinull=On
    • conversion_error=On
    • divide_by_zero_error=On
    • sort_collation=Internal
    • string_rtruncation=On
  • 创建实例化视图时,将存储每个视图的以下数据库选项设置。只有连接的当前选项值与为实例化视图存储的值相匹配,该视图才能在优化中使用:

    • date_format
    • date_order
    • default_timestamp_increment
    • first_day_of_week
    • nearest_century
    • precision
    • scale
    • time_format
    • timestamp_format
    • timestamp_with_time_zone_format
    • default_timestamp_increment
    • uuid_has_hyphens
  • 刷新视图时,将忽略上面列出的所有选项的连接设置。改用数据库选项设置(这些设置必须与视图的存储设置匹配)。

 在实例化视图定义中指定 ORDER BY 子句
 快速视图的附加限制
 另请参见