1

我在 SQL 2005 中有一个 UDF,我需要对其进行模式绑定,因为它用于我需要索引的视图中。

此 UDF 从位于不同数据库(同一服务器)中的表中获取信息,然后是 UDF 所在的数据库。

由于将表指定为 [DBName].dbo.[Tablename] 是无效的,有没有办法从另一个数据库中的表中获取信息?

4

2 回答 2

1

模式绑定应该保证一致性。但是,无法保证跨两个不同数据库的一致性,因此无法跨两个不同数据库进行模式绑定。换句话说,这是不可能实现的。

想象一下,例如,一个数据库被恢复到更早的时间点——索引视图上的索引会损坏,查询会返回错误的结果。

于 2009-11-15T07:51:48.183 回答
0

如果您的 UDF 在 Database1 中,并且它需要访问 Database2 中的表中的数据,您所要做的就是在 Database1 中创建一个视图,该视图从 Database2 中的表中获取您需要的数据。然后在您的 UDF 中使用此视图。

效果很好,我多次使用这种方法。

希望能帮助到你。

于 2009-11-03T23:38:11.477 回答