我在尝试从包含给定连接条件的最新数据而不是所有历史数据的函数中获取数据时经常遇到问题。最近,我们根据业务需求向这些表添加了新列,但是根据最新的表更改,函数没有得到更新。有没有办法刷新功能元数据。在查看的情况下我们有sp_refreshview,我们也有任何这样的函数。
对于Ex:
CREATE function [dbo].[Value](@Code varchar(15))
returns table
return (
select top 1 *
from table with (nolock)
where Code = @Code order by Date desc
)
现在该表已被修改为具有新列。但是这个功能没有反映这个价值。
答案 0 :(得分:1)
也许最接近的是用SCHEMABINDING
定义函数。
但请注意:这不允许您修改表的定义。相反,您将收到另一个对象引用的错误。
documentation中描述了这一点。
另一种方法是使用sp_refreshsqlmodule
,here。