我在 SQL Server 中有一个表值函数 (TVF),如下所示:
CREATE FUNCTION TVF_xyz(@AuditKey INT)
RETURNS TABLE
AS
RETURN
SELECT *
FROM xyz
WHERE AUDIT_KEY = @AuditKey
GO
现在,我向 xyz
表添加了一个新列。
当我使用 TVF_xyz
查询时,它不会显示新列(显示除新添加的列之外的所有其他列)。
查询:
SELECT TOP 10 *
FROM TVF_xyz (1543)
我想知道,如何刷新TVF以显示新栏目。
PS:选择 TVF 中使用的 *
来获取所有列。
最佳答案
经过一番搜索,我发现了 sp_refreshsqlmodule (Transact-SQL) ,这是TVF的常见行为。
为了刷新TVF,需要执行以下SP:
EXEC sys.sp_refreshsqlmodule 'TVF_xyz'
关于sql-server - 表值函数刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43131121/