【问题标题】:Deferred name resolution in UDFUDF 中的延迟名称解析
【发布时间】:2010-11-26 09:20:26
【问题描述】:

实际上延迟名称解析是关于存储过程中的表。但我注意到有时我可以创建引用不存在的 UDF 的 UDF,在其他情况下我不能。当允许不存在的 UDF 名称和不允许时,我没有发现任何提及。

它不依赖于 UDF 类型(标量/表值)。看起来如果 UDF 返回 XML,它不允许引用不存在的 UDF。

所以我有点困惑。有什么规定吗?

附:这些视图尚未绑定到架构,没有 SCHEMABINDING

【问题讨论】:

  • 我当然可以创建引用不存在的表和 UDF 的 UDF,它们返回 XML,没有警告,所以我认为那一点是红鲱鱼。您能否尝试发布一些有效的样本和无效的样本(最好是小样本)。

标签: sql-server user-defined-functions


【解决方案1】:

延迟名称解析不起作用的明显原因是该函数是使用“WITH SCHEMABINDING”选项创建的。因为此选项会导致在系统表中创建条目,因此您无法删除函数所依赖的对象,如果依赖对象不存在,它将失败。

【讨论】:

  • +1。当然,这让 ALTER 的生活变得“复杂”,据称这是通常的抱怨。我们一直使用它
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-16
  • 1970-01-01
相关资源
最近更新 更多