在索引视图中使用多语句视图

时间:2011-09-08 16:21:36

标签: sql-server

有可能吗?如果是,怎么样?

以下是我尝试创建时收到的错误消息: 无法在视图“视图名称”上创建索引,因为它引用了内联或多语句表值函数“函数名称”。考虑在视图定义中手动扩展函数定义,或者不对视图建立索引。

1 个答案:

答案 0 :(得分:0)

查看此列表并确定您的视图是否通过了所有检查点:

  • ANSI_NULLS和QUOTED_IDENTIFIER选项必须已设置为ON 执行CREATE VIEW语句时。 OBJECTPROPERTY 函数通过ExecIsAnsiNullsOn或者为视图报告此视图 ExecIsQuotedIdentOn属性。

    必须将ANSI_NULLS选项设置为ON才能执行 创建表引用的所有CREATE TABLE语句 图。

    视图不能引用任何其他视图,只能引用基表。

    视图引用的所有基表必须位于同一数据库中 作为视图并拥有与视图相同的所有者。

    必须使用SCHEMABINDING选项创建视图。架构 绑定将视图绑定到基础基表的模式。

    必须已创建视图中引用的用户定义函数 使用SCHEMABINDING选项

    表和用户定义的函数必须由两部分引用 视图中的名称。一部分,三部分和四部分名称不是 允许的。

    视图中表达式引用的所有函数必须是 确定性。 OBJECTPROPERTY的IsDeterministic属性 函数报告用户定义的函数是否是确定性的。 有关更多信息,请参阅确定性和非确定性 功能

来源:here.