使用来自其他db的表的UDF的模式绑定

时间:2009-11-03 19:00:37

标签: sql sql-server sql-server-2005 schemabinding

我在SQL 2005中有一个UDF,我需要schemabind,因为它在我需要索引的视图中使用。

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

由于将表指定为[DBName] .dbo。[Tablename]无效,有没有办法可以从其他数据库的表中获取信息?

2 个答案:

答案 0 :(得分:1)

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

想象一下,例如,一个数据库恢复到较早的时间点 - 索引视图上的索引将变得损坏,查询将返回错误的结果。

答案 1 :(得分:0)

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

工作得很好,我多次使用这种方法。

希望它有所帮助。